Mam bazę danych SQL Server organizacji i istnieje wiele zduplikowanych wierszy. Chcę uruchomić instrukcję select, aby pobrać wszystkie te i liczbę kopii, ale także zwrócić identyfikatory powiązane z każdą organizacją.
Oświadczenie takie jak:
SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING (COUNT(*) > 1)
Zwróci coś takiego
orgName | dupes
ABC Corp | 7
Foo Federation | 5
Widget Company | 2
Ale chciałbym też zdobyć ich identyfikatory. Czy jest na to sposób? Może jak
orgName | dupeCount | id
ABC Corp | 1 | 34
ABC Corp | 2 | 5
...
Widget Company | 1 | 10
Widget Company | 2 | 2
Powodem jest to, że istnieje osobna tabela użytkowników, którzy prowadzą do tych organizacji, i chciałbym je ujednolicić (dlatego usuwaj duplikaty, aby użytkownicy linkowali do tej samej organizacji zamiast dupe org). Ale chciałbym rozdzielić ręcznie, aby niczego nie schrzanić, ale nadal potrzebowałbym instrukcji zwracającej identyfikatory wszystkich duplikowanych organizacji, aby móc przeglądać listę użytkowników.