Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/12/2008, 20:56
Avatar de iislas
iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: Eliminar duplicados de tabla sin ID

Vi esto en alguno de los foro que frecuento:

Tengo una tabla, con estos campos (hay mas campos) y registros

campo1 campo2
x 1
d 5
e 3
x 1
x 1
d 5

quisiera que me quede:
campo1 campo2
x 1
d 5
e 3

La respuesta es: (t1, se asume que es una copia de la tabla original)

alter tabla t1
add c1 int not null identity(1, 1)

create unique nonclustered ix_u_nc_t1_c1 on t1(c1 asc)

delete t1
where exists(
select *
from t1 as a
where a.campo1 = t1.campo1 and a.campo2 = t1.campo2 and a.c1 < t1.c1
)

alter table t1
drop column c1
go

Se recomienda hacer un respaldo FULL de su base, antes de aplicar la solucion.