eliminar registros de una tabla

16/04/2007 - 10:39 por zx | Informe spam
¿Cómo se pueden eliminar registros duplicados de una misma tabla ? Es
posible que se quede con un registro y borre los demás dupplicados en todos
sus atributos?

Preguntas similare

Leer las respuestas

#1 Jose Mariano Alvarez
16/04/2007 - 13:35 | Informe spam
En el post , "zx" <ninguno> DIJO
.

¿Cómo se pueden eliminar registros duplicados de una misma tabla ? Es
posible que se quede con un registro y borre los demás dupplicados en todos
sus atributos?






http://support.microsoft.com/kb/139444/es


Saludos
Ing. Jose Mariano Alvarez


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE

Por favor traten de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el
problema también ayuda.
Respuesta Responder a este mensaje
#2 Alejandro Mesa
17/04/2007 - 15:10 | Informe spam
zx,

Si estas usando SQL Server 2005, puedes hacer uso de la nueva funcion
ROW_NUMBER() junto con una CTE.

Ejemplo:

create table dbo.t1 (
c1 int,
c2 int,
c3 int
)
go

insert into dbo.t1 values(1, 1, 1)
insert into dbo.t1 values(1, 1, 1)
insert into dbo.t1 values(1, 1, 1)

insert into dbo.t1 values(2, 2, 2)
insert into dbo.t1 values(2, 2, 2)
insert into dbo.t1 values(2, 2, 2)
insert into dbo.t1 values(2, 2, 2)

insert into dbo.t1 values(2, 2, 3)
go

;with cte
as
(
select c1, c2, c3, row_number() over(partition by c1, c2, c3 order by c1,
c2, c3) as rn
from dbo.t1
)
delete cte
where rn > 1
go

select * from dbo.t1
go

drop table dbo.t1
go


AMB

"zx" wrote:


¿Cómo se pueden eliminar registros duplicados de una misma tabla ? Es
posible que se quede con un registro y borre los demás dupplicados en todos
sus atributos?



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida