Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/01/2010, 15:28
fox1969
 
Fecha de Ingreso: enero-2010
Mensajes: 1
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: eliminar registros duplicados

En el Query analizer haces una tabla temporal con la clausula disticnt y listo esto lo probe con campos del tipo uniqueidentifier

DECLARE @SQL VARCHAR(8000)

CREATE TABLE #temp_Flujos (UID_modelo VARCHAR(100) collate database_default NOT NULL PRIMARY KEY,modelo varchar(50),UID_Marca uniqueidentifier)

SET @sql = 'INSERT INTO #temp_Flujos select distinct*from Tabla1'

EXEC (@sql)


go

insert into Tabla1 select *from #temp_Flujos

drop table #temp_Flujos




Cita:
Iniciado por Linterns Ver Mensaje
a) Primeramente determinamos los campos que deseamos que no se encuentren duplicados, el siguiente ejemplo es una tabla con tres columnas

pk_column_1 pk_column_2 column_3
----------- ----------- --------
FRED 1234 234
FRED 1234 234
FRED 1234 112

b) Verificamos los campos que se van a eliminar (Asuminos que los campos duplicados son pk_column_1 y pk_column_2)

SELECT columns_of_interest
FROM table_name a
WHERE rowid > ( SELECT min(rowid)
FROM table_name b
WHERE b.pk_column_1 = a.pk_column_1
and b.pk_column_2 = a.pk_column_2 );

c) Cambiamos la sentencia SELECT por DELETE

DELETE
FROM table_name a
WHERE rowid > ( SELECT min(rowid)
FROM table_name b
WHERE b.pk_column_1 = a.pk_column_1
and b.pk_column_2 = a.pk_column_2 );