Tengo una base de datos de organizaciones de SQL Server, y hay muchas filas duplicadas. Quiero ejecutar una instrucción select para tomar todo esto y la cantidad de engaños, pero también devolver los identificadores asociados con cada organización.
Una declaración como:
SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING (COUNT(*) > 1)
Devolverá algo como
orgName | dupes
ABC Corp | 7
Foo Federation | 5
Widget Company | 2
Pero también me gustaría obtener las identificaciones de ellos. ¿Hay alguna forma de hacer esto? Tal vez como un
orgName | dupeCount | id
ABC Corp | 1 | 34
ABC Corp | 2 | 5
...
Widget Company | 1 | 10
Widget Company | 2 | 2
La razón es que también hay una tabla separada de usuarios que se vinculan con estas organizaciones, y me gustaría unificarlas (por lo tanto, eliminar engaños para que los usuarios se vinculen a la misma organización en lugar de organizaciones engañadas). Pero me gustaría separarme manualmente para no estropear nada, pero aún así necesitaría una declaración que devuelva los ID de todas las organizaciones duplicadas para poder revisar la lista de usuarios.