O q há de errado nesta consulta?
Olá pessoal,
Uso MySQL 5. Estou precisando fazer uma consulta q me traga o total por titulação e sexo. Para isto estou tentando fazer a consulta abaixo, mas não está dando certo.
>
SELECT T.Tit_Nome,
(ISNULL(
Select COUNT(*) ITEM
From tb_dadospessoais
Where DP_Sexo = "M"
), 0) AS MASCULINO,
(ISNULL(
Select COUNT(*) ITEM
From tb_dadospessoais
Where DP_Sexo = "F"
), 0) AS FEMININO
FROM tb_dadospessoais P
INNER JOIN tb_dadosfuncionais F ON P.DP_Codigo = F.DP_Codigo
INNER JOIN tb_titulacao T ON F.Tit_Codigo = T.Tit_Codigo
O erro retornado é esse:
>
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Select COUNT(*) ITEM
From tb_dadospessoais
Where DP_Sexo = "M"
), 0) AS MASCU' at line 3
Se eu fizer a consulta como a seguinte dá certo, porém os resultados não retornam corretamente:
>
SELECT T.Tit_Nome,
(
Select COUNT(*) ITEM
From tb_dadospessoais
Where DP_Sexo = "M"
) AS MASCULINO,
(
Select COUNT(*) ITEM
From tb_dadospessoais
Where DP_Sexo = "F"
) AS FEMININO
FROM tb_dadospessoais P
INNER JOIN tb_dadosfuncionais F ON P.DP_Codigo = F.DP_Codigo
INNER JOIN tb_titulacao T ON F.Tit_Codigo = T.Tit_Codigo
O resultado retornado é este:
Tit_Nome____________MASCULINO_____FEMININO
GRADUAÇÃO_________1______________1
PÓS-GRADUAÇÃO_____1______________1
Só q eu tenho apenas um de cada sexo de cada titulação, ou seja, o resultado deveria ser retornado assim:
Tit_Nome____________MASCULINO_____FEMININO
GRADUAÇÃO_________1______________0
PÓS-GRADUAÇÃO_____0______________1
O q está errado na primeira consulta deste post?
Grato,
Ilano.
Discussão (7)
Carregando comentários...