sql >> Base de Datos >  >> RDS >> Sqlserver

Encontrar duplicados en una columna usando seleccionar dónde en SQL Server 2008

SELECT Id, Terms, Track, Active
FROM QueryData
WHERE Terms IN (
                SELECT Terms 
                FROM QueryData
                WHERE Track = 'Y' and Active = 'Y' 
                GROUP BY Terms
                HAVING COUNT(*) > 1
                )

Demostración en SQLFiddle

Datos:

ID      Terms     Track    Active
100     paper     Y        Y
200     paper     Y        Y
100     juice     Y        Y
400     orange    N        N
1000    apple     Y        N

Resultados:

Id      Terms     Track    Active
100     paper     Y        Y
200     paper     Y        Y