Estou com uma grande dúvida para realizar o agrupamento na query abaixo, é o seguinte quero que no resultado da query o campo “P.NOME” é o funcionário e sempre que este funcionário tem um dependente “D.NOME” o nome dele se repete nas linhas abaixo de acordo com a quantidade de dependentes. Ex. se o funcionário tem 3 dependentes, no resultado vem tres linhas com o nome deste funcionário relacionado a cada dependente, deu pra entender?
Objetivo: independente do número de dependentes (“D.NOME”) quero que o nome do funcionário (“P.NOME”) apareça apenas uma vez.
SELECT P.CODSECAO, S.DESCRICAO, P.CHAPA, P.NOME, PP.DTNASCIMENTO, P. CODSITUACAO,
P.DATAADMISSAO, P.DATADEMISSAO, F.NOME, VF.CODBENEFICIO, B.NOME, VF.VALOR,
D.NOME, D.DTNASCIMENTO, BD.CODBENEFICIO, BD.VALOR
FROM PFUNC P
JOIN PPESSOA PP ON P.CODPESSOA = PP.CODIGO
JOIN PSECAO S ON P.CODCOLIGADA = S.CODCOLIGADA AND P.CODSECAO = S.CODIGO
JOIN PFUNCAO F ON P.CODCOLIGADA = F.CODCOLIGADA AND P.CODFUNCAO = F.CODIGO
JOIN VBENEFVINCFUNC VF ON P.CODCOLIGADA = VF.CODCOLIGADA AND P.CHAPA = VF.CHAPA
JOIN VBENEFICIOS B ON VF.CODCOLIGADA = B.CODCOLIGADA AND VF.CODBENEFICIO = B.CODBENEFICIO
JOIN PFDEPEND D ON P.CODCOLIGADA = D.CODCOLIGADA AND P.CHAPA = D.CHAPA
JOIN VBENEFVINCDEPEND BD ON D.CODCOLIGADA = BD.CODCOLIGADA AND D.CHAPA = BD.CHAPA AND D.NRODEPEND = BD.NRODEPEND
WHERE VF.CODBENEFICIO IS NOT NULL
ORDER BY D.NOME, P.NOME