COMO EXCLUIR REGISTROS DUPLICADOS.

ALEXMARCHI 29/06/2004 15:36:26
#31607
Usuário Leigo é uma maravilha [S24]


Um Funcionário teve a capacidade de duplicar o banco de dados de contra referencia + ou - 1 milhão de registros. [S55]

Agora eu preciso fazer uma rotina para excluir os registros duplicados. a estrutura do meu banco de dados é :


Tbl_Produtos_ContraRef:

N_CD_Codigo Integer
S_Dsc_RefComl String (40)
N_CD_Cliente Integer


Parece ser simples mas hoje a minha cabeça não está processando muito bem. acho que deu pau no processador.

Quem Puder me ajudar fico Grato.



LCSD 29/06/2004 15:50:53
#31610
Resposta escolhida
VC pode tentar fazer um GROUP BY nestes registros e verificar quantos registros duplicados por uma determinada categoria VC tem, aí, VC faz um FOR...NEXT excluindo estes registros, jáque VC tem a contagem total duplicado em um grupo.

Deu para entender ou gostaria eu fosse um pouco mais detalhado???
LCSD 29/06/2004 16:06:26
#31615
Bom, vamos dizer que o seu campo chave é o N_CD_Codigo.

Faça um SELECT MAX(N_CD_codigo) as MAXIMO from tabela where n_cd_codigo = codigo duplicado

Com este SELECT, VC saberá quantos daquele determinado código VC tem duplicado na sua tabela.
Faça um outro select pegando somente eles, e como VC já sabe quanto VC têm duplicado, corra a tabela (FOR...NEXT) e exclua estes códigos duplicados.

Mas, lembre-se, exclua tudo MENOS 1, senão VC terá feito a limpeza na sua tabela.

Deu uma clareada agora ou ainda não ajudei muito???
Tópico encerrado , respostas não são mais permitidas