none
CONSULTA RETORNANDO VALORES DUPLICADOS RRS feed

  • Pergunta

  • BOA TARDE,

    TENHO A SEGUINTE CONSULTO SQL:

    SELECT CHAPA, PFUNC.NOME AS NOME_FUNCIONARIO, CODSITUACAO, DATAADMISSAO, PFUNCAO.NOME AS NOME_FUNÇÃO, /*PFUNCAO.CODIGO ,PSECAO.CODIGO,*/
    PSECAO.DESCRICAO AS DESCRIÇÃO_SEÇÃO, PPESSOA.CARTMOTORISTA AS Nº_CNH,PPESSOA.TIPOCARTHABILIT AS CAT_CNH, PPESSOA.DTVENCHABILIT AS VENC_CNH FROM PFUNC (NOLOCK)
    LEFT JOIN PPESSOA (NOLOCK) ON PFUNC.CODPESSOA=PPESSOA.CODIGO
    LEFT JOIN PSECAO (NOLOCK) ON PFUNC.CODSECAO=PSECAO.CODIGO
    LEFT JOIN PFUNCAO (NOLOCK) ON PFUNC.CODFUNCAO=PFUNCAO.CODIGO
    WHERE PFUNC.CODSITUACAO <>'D' AND PFUNC.CODSITUACAO <>'U' AND PFUNCAO.CODIGO = '0198'
    ORDER BY VENC_CNH

    ESTÁ ME RETORNANDO OS VALORES CORRETOS, PORÉM ALGUNS VÊM DUPLICATOS COMO ABAIXO:

    R: 028491 JADER ASSIS ALVES                        I 2001-10-01 MOTORISTA T-0929 - OPERACAO                    NULL NULL NULL
    R: 069985 EUSTAQUIO BENEVIDES CUSTODIO I 1998-04-13 MOTORISTA ADMBH - SERVICOS GERAIS 02763458 C NULL
    R: 069985 EUSTAQUIO BENEVIDES CUSTODIO I 1998-04-13 MOTORISTA ADMBH - SERVICOS GERAIS 02763458 C NULL
    R: 069985 EUSTAQUIO BENEVIDES CUSTODIO I 1998-04-13 MOTORISTA ADMBH - SERVICOS GERAIS 02763458 C NULL
    R: 069985 EUSTAQUIO BENEVIDES CUSTODIO I 1998-04-13 MOTORISTA ADMBH - SERVICOS GERAIS 02763458 C NULL
    R: 071124 ROGERIO MAIA FRAGOSO            P 2006-09-01 MOTORISTA L-1777 - PETROBRAS / VITORIA NULL NULL NULL
    R: 071124 ROGERIO MAIA FRAGOSO  P 2006-09-01 MOTORISTA L-1777 - PETROBRAS / VITORIA NULL NULL NULL
    R: 070993 CARLOS FERNANDO GOMES I 2005-08-15 MOTORISTA L-1777 - PETROBRAS / VITORIA 00551364758 AD 2007-05-25

    ALGUÉM CONSEGUE ME DIZER PORQUE ESSE VALORES ESTÁ VINDO DUPLICADOS?

    GRATO.


    • Editado Andrecalixto segunda-feira, 30 de março de 2015 16:56
    segunda-feira, 30 de março de 2015 16:53

Respostas

Todas as Respostas

  • Deleted
    segunda-feira, 30 de março de 2015 19:26
  • OBRIGADO, CONSEGUIR DA SEGUINTE MANEIRA:

    NESSA CLAUSULA FICOU O SEGUINTE:

    LEFT JOIN PSECAO (NOLOCK) ON PFUNC.CODSECAO=PSECAO.CODIGO AND PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA

    A PARTIR DO MOMENTO QUE ACRESCENTEI O PFUNC.CODCOLIGADA..., PASSOU A ME RETORNA OS MESMO VALORES, MAS SEM REPETIÇÃO.

    GRATO

    terça-feira, 31 de março de 2015 12:52
  • Deleted
    terça-feira, 31 de março de 2015 19:49
  • Olá, José Diz,

    É sim o Corpore RM.

    Obrigado pela explicação.

    segunda-feira, 6 de abril de 2015 17:57
  • SELECT PFUNC.CHAPA, PFUNC.NOME, CONVERT (DATE,PFUNC.DATAADMISSAO,103)AS DATA_ADMISSÃO, PFUNC.CODSITUACAO, PFUNCAO.CODIGO, PFUNCAO.NOME AS NOME_FUNÇÃO,
    PSECAO.DESCRICAO AS DESCRIÇÃO_SEÇÃO, PPESSOA.CARTMOTORISTA AS Nº_CNH, PPESSOA.TIPOCARTHABILIT AS CATEGORIA_CNH,
    CONVERT (DATE,PPESSOA.DTVENCHABILIT,103) AS VENC_CNH FROM PFUNC (NOLOCK)
    LEFT OUTER JOIN PFUNCAO (NOLOCK) ON PFUNC.CODFUNCAO=PFUNCAO.CODIGO
    RIGHT OUTER JOIN PSECAO (NOLOCK) ON PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO 
    INNER JOIN PPESSOA (NOLOCK) ON PFUNC.CODPESSOA=PPESSOA.CODIGO
    WHERE (PFUNCAO.CODIGO = '0198' OR PFUNCAO.CODIGO = '0199' OR PFUNCAO.CODIGO = '0223'
    OR PFUNCAO.CODIGO = '0243' OR PFUNCAO.CODIGO = '1031' OR PFUNCAO.CODIGO = '0233' OR PFUNCAO.CODIGO = '1039' OR PFUNCAO.CODIGO = '1037'
    OR PFUNCAO.CODIGO = '1037' OR PFUNCAO.CODIGO = '1038' OR PFUNCAO.CODIGO = '0488' OR PFUNCAO.CODIGO = '0296') AND PFUNC.CODSITUACAO <>'D' AND 
    PFUNC.CODSITUACAO <>'U'
    ORDER BY VENC_CNH

    José Diz,

    Ainda não conseguir entender, porque está retornando valores repetidos, poderia me ajudar?

    Tem alguns funcionários que retorna somente um valor, mas a maioria está retorno os valores repetidos, segue exemplo:

    028491	JADER S*** A****	2001-10-01	I	0198	MOTORISTA	T-0929 - OPERACAO	NULL	NULL	NULL
    028491	JADER S*** A****	2001-10-01	I	0198	MOTORISTA	T-0929 - OPERACAO	NULL	NULL	NULL


    • Editado Andrecalixto segunda-feira, 6 de abril de 2015 20:34
    segunda-feira, 6 de abril de 2015 20:33
  • Deleted
    terça-feira, 7 de abril de 2015 11:10
  • Olá, José Diz,

    Tinha entendio a sua explicação, mas não sabia que no primeiro INNER JOIN eu teria que fazer PFUNC.CODCOLIGADA, agora ficou mais claro. Não sou expert em SQL, mas estou tentando.

    Muito Obrigado pela ajuda.


    • Editado Andrecalixto terça-feira, 7 de abril de 2015 12:09
    terça-feira, 7 de abril de 2015 12:09
  • Deleted
    terça-feira, 7 de abril de 2015 23:47