Filtrar cpfs duplicados Chave primaria auto increment id_pessoa
04/11/2015
0
Tenho a seguinte situação.
Existe uma tabela que possuí diversas informações e nela preciso filtrar todos os registros com o mesmo cpj/cnpj e que estejam com id_pessoa diferente.
O problema, acredito eu, que no passado não existia uma trava que bloqueava a inserção de pessoa com o mesmo cpf.
Exemplo:
cpf/cnpj NOME ID_PESSOA
07998414000538 EMPRESA1 LTDA-EPP 173435
07998414000538 EMPRESA1 LTDA-EPP 173438
025737682435 LUIZ HENRIQUE 40025
025737682124 MARCOS AJ 22551
025737682124 MARCOS AJ 22551
025737682124 MARCOS AJ 22551
025737682124 MARCOS AJ 00214
025737682124 MARCOS AJ 24457
J Agripino
Posts
04/11/2015
Fernando Vicari
Não sei se o SQLServer tem a opção de você utilizar a clausula having.
Se tiver você pode fazer algo assim:
Select ID, NOME, CPF from tabela_pessoa where CPF in (select cpf from (select cpf, count(*) from tabela_pessoa group by cpf having count(*) > 1))
No oracle isso iria funcionar que é um espetáculo.
04/11/2015
Marcos P
select cpf_cnpj into #TMP from pessoas group by cpf_cnpj, id_pessoa select cpf_cnpj, count(1) as Repeticoes from #TMP group by cpf_cnpj having count(1) > 1 drop table #TMP
04/11/2015
Marcos P
select distinct p1.cpf_cnpj from pessoas p1 inner join pessoas p2 on (p1.cpf_cnpj = p2.cpf_cnpj and p1.id_pessoa <> p2.id_pessoa)
Clique aqui para fazer login e interagir na Comunidade :)