Dados duplicados

Bom dia!

Tenho uma base de cadastros de clientes que tem duplicidade, ou seja o cliente está cadadtrado 2 vezes.
O cadatro está com nomes iguais e documento diferentes ( mesmo nome um cadastrado com CPF e outro com RG).
Gostaria de saber como faço um select para trazer os cadastros duplicados com documentos diferentes usando outras variaveis como: endereço/data de nascimento, mas preciso trazer a base com essas informações.
Não tem como fazer o select por nome, pois podem ter hononimos.

A princípio, imagino uma consulta mais ou menos assim:

SELECT nome, cpf, COUNT(id)
FROM Cliente
GROUP BY nome, cpf
HAVING COUNT(id) > 1

UNION ALL

SELECT nome, rg, COUNT(id)
FROM Cliente
GROUP BY nome, rg
HAVING COUNT(id) > 1;

Essa consulta deve retornar todos os registros onde há mais de um cliente com com o mesmo cpf ou rg.

1 curtida

Obrigada pela resposta…

Na verdade eu tenho o mesmo cliente cadastrado com CPF e RG, ou seja o nome está duplicado, mas o documento é diferente.
Tenho outras informações na base como data de nascimento, endereço e etc…
Então eu queria fazer um filtro tipo o mesmo cliente com CPF e RG diferente mas usar o filtro de data de nascimento por exemplo para saber se é o mesmo cliente, porque tem honomnimos.

Não tem como garantir essa informação!
Podem existir pessoas com o mesmo nome e que nasceram no mesmo dia, endereço também não é comparativo pois pode ser que no primeiro cadastro ele morava em um endereço XPTO e no segundo em outro endereço XYZ.
A garantia de que o cadastro realmente está duplicado seria comparando o documento e talvez o nome da mãe.

1 curtida