SQL Server - Eliminar registros diplicados

 
Vista:

Eliminar registros diplicados

Publicado por Jonathan Casanova (7 intervenciones) el 17/01/2007 15:32:38
Buenas a todas y todas !!!!

Tengo la siguiente situacion:

En una tabla 'x' tengo 'y' numero de registros duplicados, en donde cada uno de estos registros tienen un numero unico (que no es llave). Ya obtuve el total de los registros duplicados, algo como asi:

identificacion codigo
111111 85
111111 75
111111 40
222222 235
222222 455

ok, lo que necesito es eliminar los duplicados sin eliminar desde luego el registro original, en donde unicamente me quedara:
identificacion codigo
111111 85
222222 235


Muchas gracias de antemano, buen dia :)

Salu2.... Casanova
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Eliminar registros diplicados

Publicado por Isaías (3308 intervenciones) el 17/01/2007 21:52:51
Este ejemplo que te envio, te servira para lograr tu objetivo, todo esta en que agregues una columna INT tipo IDENTITY a tu tabla, checa el ejemplo:

create table marxBrothers (
ident int IDENTITY,
Name varchar(32)
)
go
insert marxBrothers (Name)
select 'Groucho Marx' UNION ALL
select 'Harpo Marx' UNION ALL
select 'Chico Marx' UNION ALL
select 'Groucho Marx' UNION ALL
select 'Harpo Marx' UNION ALL
select 'Chico Marx' UNION ALL
select 'Zeppo Marx' UNION ALL
select 'Gummo Marx' UNION ALL
select 'Zeppo Marx'

select * from marxBrothers

ident Name
----------- --------------------------------
1 Groucho Marx
2 Harpo Marx
3 Chico Marx
4 Groucho Marx
5 Harpo Marx
6 Chico Marx
7 Zeppo Marx
8 Gummo Marx
9 Zeppo Marx

delete marxBrothers
from marxBrothers,
(
select min(ident) as minIdent, name
from marxBrothers m
group by name
having count(1) > 1
) as derived
where marxBrothers.name = derived.name
and ident > minIdent

select * from marxBrothers

ident Name
----------- --------------------------------
1 Groucho Marx
2 Harpo Marx
3 Chico Marx
7 Zeppo Marx
8 Gummo Marx
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar