Oracle Live

11/04/2016

SCRIPT – Eliminar duplicados

Filed under: Scripts — mogukiller @ 2:38 pm
Tags:

Seguramente en alguna migración, a la hora de crear las PKs de la tabla os ha saltado que para esas columnas la tabla tiene duplicados. Os pongo el script que uso para borrarlos.


-- Identificamos los duplicados

SELECT "COD_CORREO", "COD_ANEXO", COUNT(*) FROM CRC.AC_ANEXOS GROUP BY COD_CORREO, COD_ANEXO HAVING COUNT(*) >1;
/*
COD_CORREO    COD_A   COUNT(*)
------------- ----- ----------
48983545      1              2
48983501      1              2

*/

-- Borramos una de las entradas.

DELETE CRC.AC_ANEXOS WHERE ROWID IN (
SELECT MIN(A.ROWID)
FROM
CRC.AC_ANEXOS A,
(SELECT "COD_CORREO", "COD_ANEXO", COUNT(*) FROM CRC.AC_ANEXOS GROUP BY COD_CORREO, COD_ANEXO HAVING COUNT(*) >1) B
WHERE
A.COD_CORREO = B.COD_CORREO
AND A.COD_ANEXO = B.COD_ANEXO
GROUP BY A.COD_CORREO, A.COD_ANEXO);

Dejar un comentario »

Aún no hay comentarios.

RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: