27/2/18

Eliminar registros duplicados

Una de las tareas típicas de nuestro día a día es eliminar registros duplicados de algunas tablas, no vamos a entrar en detalle de que produce estos errores, jejej, pero vamos a ir planteando algunas soluciones para borrar los registros y quedarnos con un único registro.


 Hoy vamos a presentar una solución:

DELETE
    FROM tabla a 
  WHERE ROWID > (SELECT MIN(ROWID) 
                                        FROM tabla b
                                      WHERE b.campo_id=a.campo_id);

De esta forma con ROWID tenemos una cadena alfanumérica que identifica de forma única cada fila, y estamos diciéndole que borre todos los registros con ROWID mayor que el menor, de esta forma solo nos quedamos con este registro que tiene el menor ROWID .

Vamos a ir añadiendo otras posibles soluciones próximamente.

No hay comentarios :

Publicar un comentario