DUPLICADOS NO SQL

DIOGOMUNARIN 05/06/2007 15:05:24
#219866
Importei um cadastro de pacientes no SQL, depois usando o having tirei os pacientes que estavam duplicados, mas ele so retira os q tem o nome escrito exatamente igual. Entao ficou ums 12 mil registros duplicados ainda.
POr exemplo: Diogo Oliveira Munarin
Diogo O. Munarin
Estou com esse problema no banco, gostaria de saber se existe alguma forma para q eu possa ver os q tem as 4 primeiras letras no nome, mais as 4 primeira letra do nome da mae, e data de nascimento iguais.
O q desse igual ele conta.
Obs..: Gostaria q fosse em uma instruçao sql. Pois no vb demoraria demais para executar isso.
USUARIO.EXCLUIDOS 05/06/2007 15:32:50
#219876
VOCE PODERIA USAR A INSTRUÇÃO LIKE....

SELECT *
FROM TABELA
WHERE NOME LIKE '%OLIVEIRA%'


ISSO IRA RETORNAR TUDO QUE FOR PARECIDO COM OLIVEIRA...


ESPERO TER AJUDADO

FLW


MARCIO.ROGERIO 05/06/2007 16:08:43
#219881
Olá, experimente adaptar esta query :

use banco
go

/* Localiza registros duplicados */

select codigo, count(codigo) from tabela group by codigo having count(codigo)>1

/* Elimina registros duplicados */


select distinct * into #tabelatmp from tabela
truncate table tabela
insert into tabela select * from #tabelatmp

ela pode ser útil.

Rogério.
USUARIO.EXCLUIDOS 05/06/2007 17:14:36
#219896
Diogo,

Com o comando like, você terá o problema de pegar todos os nomes que tiverem oliveira, tipo:

Marco Oilveira Andrade
Segio O. Oliveira
Sergio OsWaldo oliveira

Até trará os repetidos, mas poderá e provavelmente trará resultados indesejados.

A segund aopção apresentada foi utilizar o campo código. Está funciona se você tiver algum outro campo que possa utilizar para realizar a comparação tipo Celular...

Agora pelo prórprio nome acho inviável devido a quantidade de combinções possíveis que você terá para saber se um nome é mesmo igual ao outro, sem contar que posso ter duas pessoas como o nome José Silva, porém com os outros campos diferentes. Tem de usar um campo que seja realmente impossível de repetir para duas pessoas distintas tipo RG.

Espero ter ajudado.
DIOGOMUNARIN 05/06/2007 17:19:01
#219899
Obrigado pela ajuda, mas nenhum dos dois resolveu =/
USUARIO.EXCLUIDOS 05/06/2007 17:24:50
#219900
é aquilo que te falei, se vc não tiver algum outro campo que não seja o nome na tabela para poder identificar registros duplicados, esta operação não será impossível, pois terá forma de fazer mas não pelo sql somente.


USUARIO.EXCLUIDOS 05/06/2007 17:30:05
#219901
DIOGOMUNARIN,

Faz via aplicação mesmo... afinal, é só uma vez que vai fazer isto não é !?
Então.. é até melhor que você pode tratar melhor as informações.
Tópico encerrado , respostas não são mais permitidas