Página 1 de 1

RESOLVIDO [EXCLUIR REGISTROS DUPLICADOS]

Enviado: Qua Set 14, 2016 3:16 pm
por cy_rangel
Olá, boa tarde!
Poderiam me ajudar a criar o SQL ou uma query para excluir registros duplicados, porém mantendo apenas um único registro com a data mais antiga. Caso o registro duplicado (EHID) apresente a mesma data (Request Date), um registro só deve ser mantido.

Montei essa parte do SQL, mas não está funcionando:

DELETE tbl_duplicados_fila_RUW.[EHID], tbl_duplicados_fila_RUW.[Request Date]
FROM tbl_duplicados_fila_RUW
WHERE (((tbl_duplicados_fila_RUW.[EHID]) In (select EHID from tbl_duplicados_fila_RUW
group by EHID
having Count(EHID)>1))

Em anexo, o print da tela com a tabela de registros duplicados no campo EHID.

Muito Obrigada!! :D

Re: EXCLUIR REGISTROS DUPLICADOS

Enviado: Qui Set 15, 2016 6:57 pm
por webmaster
Colega,

Se os registros sao idênticos, não tem como fazer um delete que exclua somente um deles pois o SQL não tem como saber a diferença. Algum truque tem que ser feito. Há varios, mas o que faria é:
  1. Criar uma tabela temporária clone da primeira
  • Inserir nela os dados sem repetição, fazendo DISTINCT nas colunas (no seu caso, as duas)
  • Limpar a tabela original
  • Inserir na tabela original os dados da tabela temporária
  • Excluir a tabela temporária
Deve resolver