miércoles, 13 de octubre de 2010

SQL - Obtener ID de registros cuyo campo XXX esté repetido

Esta consulta devuelve los identificadores (ID) de los registros cuyo campo XXX aparezca en más de una ocasión en la tabla:

SELECT DISTINCT(T1.ID) FROM TABLA T1
WHERE
(SELECT COUNT(*) FROM TABLA T2 WHERE T1.XXX = T2.XXX) > 1


Obviamente, podemos obtener toda la información que nos interese de esos registros e incluir condiciones adicionales en la búsqueda.

Al incluir DISTINCT estamos especificando que la consulta devuelva los identificadores que satisfacen la condición una sola vez, es decir, que no haya IDs repetidos en la salida.

No hay comentarios: