Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Eliminar Registro duplicado Help!!!

Estas en el tema de Eliminar Registro duplicado Help!!! en el foro de SQL Server en Foros del Web. Hola, tengo una tabla con registros duplicados, quiero eliminar los duplicados dejando uno. Alguien tiene alguna idea? Muchas gracias....
  #1 (permalink)  
Antiguo 10/09/2007, 05:30
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Eliminar Registro duplicado Help!!!

Hola, tengo una tabla con registros duplicados, quiero eliminar los duplicados dejando uno.

Alguien tiene alguna idea?

Muchas gracias.
  #2 (permalink)  
Antiguo 10/09/2007, 07:00
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Eliminar Registro duplicado Help!!!

si todos los campos son exactamente iguales, puedes hacer lo siguiente:

- Generar una tabla temporal con la misma estructura que la tabla de los registros duplicados, agregando un campo identity.

- Insertar los registros duplicados en tu tabla temporal.

- Eliminar los registros duplicados de la tabla origen (tabla fisica).

- Insertar solo uno de los registros que estan en tu tabla temporal, con el campo identity los podras manejar individualmente sin problemas.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 10/09/2007, 08:47
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Re: Eliminar Registro duplicado Help!!!

Yo queria un comando magico que me lo resolviera jejeje....
Voy a tener que laburar noma che

Saludos y gracias.
  #4 (permalink)  
Antiguo 10/09/2007, 11:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Eliminar Registro duplicado Help!!!

¿Algo "MAGICO"?, no pues no creo..........

-- Creo un CURSOR para agrupar los registros DUPLICADOS por Col1 y Col2
DECLARE @col1 SMALLINT, @col2 INT, @dupcnt INT
declare dups cursor for
SELECT MyCol1, MyCol2, (count(*) - 1) as Duplicates
FROM MyTabla
GROUP BY MyCol1, Mycol2
HAVING count(*) > 1 order by MyCol1, MyCol2

-- Abro mi cursor
OPEN dups
-- Entro al ciclo
WHILE(1=1)
BEGIN
FETCH NEXT FROM dups INTO @col1, @col2, @dupcnt
IF (@@fetch_status < 0)
BREAK -- Rompo el Ciclo
SET rowcount @dupcnt
DELETE MyTabla WHERE MyCol1 = @col1 and MyCol2 = @col2
END
-- Quito mi cursor de la memoria
DEALLOCATE dups
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.