Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos tenho uma consulta no banco, que aparece os votadores e ao lado quantidade de votos por diretoria
porém esse sql esta funcionando caso no banco ja tenha dado cadastrado
SELECT C.DIRETORIA AS DIR_VOTADO, COUNT(B.id_voto) as Total
FROM MAGN_SEM_GERENCIA A
INNER JOIN MAGN_VOTOS B ON A.LOGIN = B.ID_VOTADOR
INNER JOIN MAGN_SEM_GERENCIA C ON C.LOGIN = B.ID_VOTO
where c.DIRETORIA = 'DIR OPERACOES ODCS' group by c.DIRETORIA
caso ainda nao tenham votadores nessa diretoria aparece erro ao inves de aparecer 0 na soma ...
gostaria de saber como eu poderei fazer isso p aparecer das duas maneiras... se n tiver nada no banco, aparecer 0, se nao, aparecer o script acima ...
Rafa,
bom dia.
Tente trocar o INNER por LEFT
Assim todos os registro da tabela irão aparecer
SELECT
C.DIRETORIA AS DIR_VOTADO,
COUNT(B.id_voto) as Total
FROM MAGN_SEM_GERENCIA A
left JOIN MAGN_VOTOS B
ON A.LOGIN = B.ID_VOTADOR
left JOIN MAGN_SEM_GERENCIA C
ON C.LOGIN = B.ID_VOTO
where c.DIRETORIA = 'DIR OPERACOES ODCS'
group by c.DIRETORIA
Se ficar aparecendo campos nulos use a função isnull para trocar o nulo por zero.