SELECT COUNT dentro de outro SELECT
Bom dia,
Estou com dificuldade em fazer um select count (na verdade são 2) dentro de outro select:
Preciso listar todos os funcionários com os devidos campos, e os dois últimos campos são: contador de faltas justificadas (código 94) e outro campo contando faltas não justificadas (código 95).
O select dos primeiros campos da listagem é:
SELECT MO.CODMOT, MO.NOMMOT, MO.CODFOL, CL.DESCRI CLASSIFICACAO, CC.DESCRI CENTRO_CUSTO
FROM RODMOT MO INNER JOIN RODCUS CC ON MO.CODCUS=CC.CODCUS
INNER JOIN RODCMO CL ON MO.CODCMO=CL.CODCMO
WHERE MO.CODMOT='626' (Exemplo de motorista).
O select que conta as faltas (da tabela RODCAM_HIS=Histórico de advertência) é:
SELECT RODCAM_HIS.CODMOT, COUNT(RODCAM_HIS.CODMTV) AS MOTIVOFROM RODCAM_HIS INNER JOIN RODMOT ON RODCAM_HIS.CODMOT = RODMOT.CODMOT
WHERE RODCAM_HIS.CODMTV = 94 (Faltas justificadas)
GROUP BY RODCAM_HIS.CODMOT
Esse segundo select me retorna os motoristas que tenham faltas justificadas, e no segundo campo quantas faltas eles tem. Porém ele não me traz todos os funcionários, apenas os que tem essa falta, eu gostaria de estar exibindo todos, independentemente de existir esse registro. Tentei trocar o INNER JOIN por LEFT, RIGHT, FULL, OUTER's e não obtive nenhuma alteração no SLEECT.
O segundo problema é que não estou conseguindo inserir o segundo SELECT dentro do primeiro, para listar TODOS os motoristas, tendo faltas ou não, e os dois últimos campos sendo "FALTAS JUSTIFICADAS" e "FALTAS NÃO JUSTIFICADAS".
Muito obrigado.
Discussão (4)
Carregando comentários...