SQL - Duplicados.. Gracias fernando y Isaias

 
Vista:

Duplicados.. Gracias fernando y Isaias

Publicado por Luis Saravia (14 intervenciones) el 19/03/2003 00:00:50
muchas gracias por ayudarme, lo que sucede que tengo 2 campos en la tabla el premero es rut un nvarchar y el segundo es nombre un nvarchar. Tu rutina la probe pero no realiza ningun cambio osea no elimina aquellos registros repetidos.
Gracias nuevamente.
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:Duplicados.. Gracias fernando y Isaias

Publicado por Isaías Islas (5072 intervenciones) el 19/03/2003 00:47:12
Aqui esta la prueba de que si funciona:
-- Creo mi tabla
create table MyTable (rut nvarchar(10), nombre nvarchar(10))
-- Inserto mis registros
INSERT INTO MyTable values('uno','uno')
INSERT INTO MyTable values('uno','uno')
INSERT INTO MyTable values('dos','dos')
INSERT INTO MyTable values('dos','dos')
INSERT INTO MyTable values('tres','tres')
INSERT INTO MyTable values('tres','tres')
INSERT INTO MyTable values('tres','tres')
-- Veo el contenido
rut nombre
---------- ----------
uno uno
uno uno
dos dos
dos dos
tres tres
tres tres
tres tres
-- Ejecuto el Script
DECLARE @col1 nvarchar(10), @col2 nvarchar(10), @dupcnt INT
declare dups cursor for
select rut, nombre,(count(*) - 1) as Duplicates from MyTable
group by rut,
nombre having count(*) > 1 order by rut,
nombre
--
open dups
while(1=1)
begin
fetch next from dups into @col1, @col2, @dupcnt
if (@@fetch_status < 0)
break
set rowcount @dupcnt
delete MyTable where rut= @col1 and nombre= @col2
end
--
deallocate dups
-- Veo el contenido
rut nombre
---------- ----------
uno uno
dos dos
tres tres
¿Porque dices que NO funciona?
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