Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Duvida em uma Consulta


Pyke

Pergunta

Preciso fazer uma consulta que verifique dentre os empregados que possuem a mesma matricula, quais deles tem dados pessoais divergentes (nome, data de nascimento e cpf). Ou seja no sistema é possivel ter empregados duplicados DESDE que os dados pessoais estejam iguais.

Fiz a consulta da sequinte maneira:

Select distinct NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado from BD8Vinc where

CoMatricula in (Select CoMatricula from BD8Vinc group by CoMatricula

HAVING ( COUNT(CoMatricula) > 1 ))

Essa consulta só tem um problema: se eu tiver por exemplo dois registros de um determinado empregado com dados pessoais exatamente iguais, e mais dois registros de um outro empregado, dessa vez com dados pessoais diferentes, ele vai listar o empregado que não tem dados divergentes....alguém tem alguma sugestão pra eu melhorar isso?

Agradeço desde já!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Pra fazer o UNION, a obrigatoriedade deverá ser nos campos de resultado. Nas cláusulas FROM e WHERE você pode referenciar / relacionar quaisquer tabelas. você pode pesquisar na mesma tabela sim. São duas execuções distintas, apenas unidas.

Ex.:

Select nome, data_de_nascimento, cpf from XXXXX.....

UNION

Select nome, data_de_nascimento, cpf from YYYYYY.....

Qualquer dúvida, posta ai... :.)

Se tiver dificuldade, posta alguns dados e faço um exemplo.

Link para o comentário
Compartilhar em outros sites

  • 0

Por exemplo, eu tenho 4 registros de empregados. Dois registros são do empregado A e dois são do empregado B. O empregado A tem os dados pessoais iguais, portanto não há erro. Já o empregado B tem datas de nascimento divergentes nos registros. Então a minha pesquisa precisa selecionar os empregados que tem mais de um registro e a partir dai ver quem é que tem dados divergentes

Como o Union faz pesquisas independentes uma da outra e depois só junta tudo, como eu posso usar esse comando pra fazer um filtro? Porque o que eu preciso é justamente isso, filtrar os registros divergentes de um universo de empregados duplicados. Voce pode fazer um exemplo pra eu entender melhor?

Editado por Pyke
Link para o comentário
Compartilhar em outros sites

  • 0

Ok. Tinha entendido outra coisa quando li seu 1º post.... :.(

Com o UNION você não conseguirá realizar a pesquisa.

Fiz um exemplo logo abaixo utilizando uma tabela temporária. Copia e cola no SQL. Olha se é isso q está querendo. Neste exemplo, listo apenas as pessoas q possuem duplicidade com dados diferentes, ok? A pesquisa é excludente. Eu retiro da listagem as pessoas q estão com o cadastro ok....

Se não for isso, posta aí!!! :.)

create table #BD8Vinc (CoMatricula int, NoEmpregado varchar(80), DaNascimentoEmpregado datetime, CoCpfEmpregado int)

insert into #BD8Vinc (CoMatricula, NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado) values (1, 'Antonio', '1950-01-01', 22)

insert into #BD8Vinc (CoMatricula, NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado) values (1, 'Antonio', '1950-01-01', 22)

insert into #BD8Vinc (CoMatricula, NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado) values (2, 'Joana ', '1977-12-03', 33)

insert into #BD8Vinc (CoMatricula, NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado) values (2, 'Joana', '1977-06-23', 33)

select * from #BD8Vinc

Select NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado from #BD8Vinc where

CoMatricula not in (Select CoMatricula

from #BD8Vinc group by NoEmpregado, DaNascimentoEmpregado, CoCpfEmpregado, CoMatricula

HAVING ( COUNT(CoMatricula) > 1 ))

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...