Sera posible un delete de estos registros ?

12/10/2006 - 01:08 por Penta | Informe spam
Estimados.
Tengo:

MARCA ANO FechaHora
AUDI 2006 01/01/2006 12:00
AUDI 2006 01/01/2006 13:00
BMW 2006 01/01/2006 12:00
BMW 2006 01/01/2006 13:00
asi digamos unos 1000 registros, quisiera tener registros unicos de
MARCA ANO, por lo tanto quisiera poder eliminar los registros
"duplicados" cuya FechaHora sea menor

La idea es que me quede:
MARCA ANO FechaHora
AUDI 2006 01/01/2006 13:00
BMW 2006 01/01/2006 13:00


Datos: solo tengo 2 registros por cada PK MARCA ANO


Muchas Gracias.
Penta.
 

Leer las respuestas

#1 Isaias
12/10/2006 - 07:04 | Informe spam
Intentaremos

CREATE TABLE #AUTOS(CANTIDAD INT, MARCA VARCHAR(50), ANO CHAR(4))
INSERT INTO #AUTOS
SELECT COUNT(MARCA), MARCA, ANO
FROM TUTABLA
GROUP BY MARCA, ANO

DECLARE @MARCA VARCHAR(50), @ANO CHAR(4), @CANT INT

WHILE EXISTS(SELECT MARCA FROM #AUTOS)
BEGIN
SELECT TOP 1 @CANT = CANTIDAD,
@MARCA = MARCA,
@ANO = ANO
FROM #AUTOS
SET @CANT = @CANT-1
SET ROWCOUNT @CANT
DELETE #AUTOS WHERE
@MARCA = MARCA,
@ANO = ANO
SET ROWCOUNT 0
CONTINUE
END

Creo que debe funcionar, no tengo literatura a la mano, lo estoy haciendo
con lo que traigo en la memoria, te recomiendo que hagas una prueba en una
tabla de paso.

Saludos
IIslas


"Penta" wrote:

Estimados.
Tengo:

MARCA ANO FechaHora
AUDI 2006 01/01/2006 12:00
AUDI 2006 01/01/2006 13:00
BMW 2006 01/01/2006 12:00
BMW 2006 01/01/2006 13:00
asi digamos unos 1000 registros, quisiera tener registros unicos de
MARCA ANO, por lo tanto quisiera poder eliminar los registros
"duplicados" cuya FechaHora sea menor

La idea es que me quede:
MARCA ANO FechaHora
AUDI 2006 01/01/2006 13:00
BMW 2006 01/01/2006 13:00


Datos: solo tengo 2 registros por cada PK MARCA ANO


Muchas Gracias.
Penta.


Preguntas similares