SQL - DATA Duplicada

 
Vista:

DATA Duplicada

Publicado por ngenao (32 intervenciones) el 13/05/2008 16:28:38
saludos

tengo un problema con una data que se duplico 2 veces pero no en todos los clientes es decir de 500 clientes 450 estan dos veces, realice este query para saber cuales son los 450 que estan mas de 1 vez y me arrojo un buen resultado.

La pregunta es como puedo borrar solo 1 y dejar otro. utilizo SQL server anexo query

select cliente, documento, fecha, creacion, mensajero, count (*)
from empresa.documentos
where documento = '24'
and fecha = '2008-04-30'
and creacion = '2008-05-06'
and mensajero is null
GROUP BY cliente, documento, fecha, creacion, mensajero
Having Count(*)>1
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:DATA Duplicada

Publicado por Isaias (5072 intervenciones) el 14/05/2008 19:16:31
Le mando una query que hace el trabajo, modifiquelo a sus necesidades

-- Creo un CURSOR para agrupar los registros DUPLICADOS por Col1 y Col2
DECLARE @col1 SMALLINT, @col2 INT, @dupcnt INT
declare dups cursor for
SELECT MyCol1, MyCol2, (count(*) - 1) as Duplicates
FROM MyTabla
GROUP BY MyCol1, Mycol2
HAVING count(*) > 1 order by MyCol1, MyCol2

-- Abro mi cursor
OPEN dups
-- Entro al ciclo
WHILE(1=1)
BEGIN
FETCH NEXT FROM dups INTO @col1, @col2, @dupcnt
IF (@@fetch_status < 0)
BREAK -- Rompo el Ciclo
SET rowcount @dupcnt
DELETE MyTabla WHERE MyCol1 = @col1 and MyCol2 = @col2
END
-- Quito mi cursor de la memoria
DEALLOCATE dups
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