Marcelo Conceição Postado 12 de Maio de 2009 Tópicos Que Criei: 125 Tópicos/Dia: 0.02 Meu Conteúdo: 458 Conteúdo/Dia: 0.07 Reputação: 1 Pontos/Conquistas: 3.531 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 44 Denunciar Compartilhar Postado 12 de Maio de 2009 Oi pessoal tenho esta sentença sql abaixo. Mas o resultado dos dados do funcionario está saindo em duplicidade defido a tabela PFDEPEND. Alguém tem uma solução pra isso? SELECT PFUNC.CHAPA,PFUNC.NOME,'123456'SENHA,NULL [END],PPESSOA.CPF,PPESSOA.CARTIDENTIDADE,PPESSOA.DTNASCIMENTO, CASE WHEN PFDEPEND.GRAUPARENTESCO='6' THEN PFDEPEND.NOME ELSE NULL END AS PAI, CASE WHEN PFDEPEND.GRAUPARENTESCO='7' THEN PFDEPEND.NOME ELSE NULL END AS MAE, PFUNC.DATAADMISSAO,PPESSOA.TITULOELEITOR,'F' SUPERVISOR,'F' LIBERADO,'F'PERGUNTAR,'1' COLIGADA FROM PPESSOA(NOLOCK),PFUNC(NOLOCK) LEFT OUTER JOIN PFDEPEND(NOLOCK) ON PFUNC.CODCOLIGADA=PFDEPEND.CODCOLIGADA AND PFUNC.CHAPA=PFDEPEND.CHAPA WHERE PFUNC.CODPESSOA=PPESSOA.CODIGO AND PFUNC.CODSITUACAO<>'D' AND PFDEPEND.GRAUPARENTESCO IN ('6','7') AND PFUNC.CODCOLIGADA=1 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Cleiton Souza Postado 20 de Maio de 2009 Tópicos Que Criei: 69 Tópicos/Dia: 0.01 Meu Conteúdo: 339 Conteúdo/Dia: 0.06 Reputação: 12 Pontos/Conquistas: 2.393 Conteúdo Resolvido: 0 Dias Ganho: 8 Status: Offline Idade: 46 Denunciar Compartilhar Postado 20 de Maio de 2009 Prezado Amigo, Espero poder contribuir com você. A consulta que você precisa está abaixo (retirei alguns campos para fazer uns testes, mas pode inserir eles): SELECT AA.CHAPA,AA.NOME,AA.CPF,AA.CARTIDENTIDADE,AA.DTNASCIMENTO, MAX(AA.PAI) PAI, MAX(AA.MAE) MAE ,AA.DATAADMISSAO,AA.TITULOELEITOR,AA.SUPERVISOR, AA.LIBERADO,AA.PERGUNTAR,AA.COLIGADA FROM ( SELECT PF.CHAPA,PF.NOME,P.CPF,P.CARTIDENTIDADE,P.DTNASCIMENTO, CASE WHEN PD.GRAUPARENTESCO='6' THEN PD.NOME ELSE NULL END AS PAI, CASE WHEN PD.GRAUPARENTESCO='7' THEN PD.NOME ELSE NULL END AS MAE, PF.DATAADMISSAO,P.TITULOELEITOR,'F' SUPERVISOR,'F' LIBERADO,'F'PERGUNTAR,'1' COLIGADA FROM PPESSOA P (NOLOCK) INNER JOIN PFUNC PF (NOLOCK) ON (P.CODIGO = PF.CODPESSOA) LEFT OUTER JOIN PFDEPEND PD (NOLOCK) ON (PF.CODCOLIGADA = PD.CODCOLIGADA AND PF.CHAPA=PD.CHAPA) WHERE PF.CODSITUACAO<>'D' AND PD.GRAUPARENTESCO IN ('6','7') AND PF.CODCOLIGADA=1 ) AA GROUP BY AA.CHAPA,AA.NOME,AA.CPF,AA.CARTIDENTIDADE,AA.DTNASCIMENTO, AA.DATAADMISSAO,AA.TITULOELEITOR,AA.SUPERVISOR, AA.LIBERADO,AA.PERGUNTAR,AA.COLIGADA Qualquer dúvida não hesite em avisar. Espero ter contribuído. Abraços, Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Dayana Fernandes Postado 5 de Junho de 2009 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 21 Conteúdo/Dia: 0.00 Reputação: 1 Pontos/Conquistas: 145 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Idade: 40 Denunciar Compartilhar Postado 5 de Junho de 2009 Ou utilizar depois do select a função distinct. Mas todo cuidado é pouco! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.