Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Eliminacion duplicados y AS (https://www.clubdelphi.com/foros/showthread.php?t=67359)

Cabanyaler 13-04-2010 18:22:37

Eliminacion duplicados y AS
 
Hola, estoy intentando eliminar tuplas duplicadas de una tabla.
Estoy con el SQL Server de Microsoft 2000.

Para ello ejecuto, o intento ejecutar esta sentencia:

Código SQL [-]
DELETE
FROM UNICOMTMP a
WHERE rowid < (SELECT max(rowid)
FROM UNICOMTMP b
WHERE b.CodUco_Uco = a.CodUco_Uco)

Pero el SQL Server me contesta con:
Código:

Servidor: mensaje 170, nivel 15, estado 1, línea 2
Línea 2
: sintaxis incorrecta cerca de 'a'.

He probado tb con:
Código SQL [-]
DELETE
FROM UNICOMTMP AS a
WHERE rowid < (SELECT max(rowid)
FROM UNICOMTMP AS b
WHERE b.CodUco_Uco = a.CodUco_Uco)

Pero tb me falla con el mensaje:
Código:

Servidor: mensaje 156, nivel 15, estado 1, línea 2
Sintaxis incorrecta cerca de la palabra clave 'AS'.



Gracias, gracias. :o
¿Conocéis la sintaxis correcta o un algoritmo para eliminar las tuplas duplicadas por un determinado atributo?

Johnny Q 14-04-2010 16:13:54

Hola.

Pues hasta donde yo recuerdo no existe ninguna columna rowid en SQL Server 2000 (si lo que quieres es obtener el número de registro interno que maneja el motor), creo que esa columna es propia de Oracle y por eso es que te esta arrojando un error.

Cabanyaler 19-04-2010 12:55:22

Vahhhhh, al final lo he solucionado con código . El típico:

Código Delphi [-]
valorAnterior := ....
while not eof......
if valor aterior = valoractual then.....


La franja horaria es GMT +2. Ahora son las 06:50:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi