Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2005, 10:20
Avatar de Linterns
Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
a) Primeramente determinamos los campos que deseamos que no se encuentren duplicados, el siguiente ejemplo es una tabla con tres columnas

pk_column_1 pk_column_2 column_3
----------- ----------- --------
FRED 1234 234
FRED 1234 234
FRED 1234 112

b) Verificamos los campos que se van a eliminar (Asuminos que los campos duplicados son pk_column_1 y pk_column_2)

SELECT columns_of_interest
FROM table_name a
WHERE rowid > ( SELECT min(rowid)
FROM table_name b
WHERE b.pk_column_1 = a.pk_column_1
and b.pk_column_2 = a.pk_column_2 );

c) Cambiamos la sentencia SELECT por DELETE

DELETE
FROM table_name a
WHERE rowid > ( SELECT min(rowid)
FROM table_name b
WHERE b.pk_column_1 = a.pk_column_1
and b.pk_column_2 = a.pk_column_2 );
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***