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