J'ai une base de données SQL Server contenant des organisations, et il y a beaucoup de lignes en double. Je veux exécuter une instruction de sélection pour récupérer toutes ces lignes et le nombre de doublons, mais aussi renvoyer les identifiants associés à chaque organisation.
Une déclaration comme :
SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING (COUNT(*) > 1)
Il retournera quelque chose comme
orgName | dupes
ABC Corp | 7
Foo Federation | 5
Widget Company | 2
Mais j'aimerais aussi récupérer leurs identifiants. Existe-t-il un moyen de le faire ? Peut-être comme un
orgName | dupeCount | id
ABC Corp | 1 | 34
ABC Corp | 2 | 5
...
Widget Company | 1 | 10
Widget Company | 2 | 2
La raison en est qu'il existe également une table séparée des utilisateurs qui sont liés à ces organisations, et je voudrais les unifier (donc supprimer les doublons pour que les utilisateurs soient liés à la même organisation et non à des organisations doubles). J'aimerais que cette opération se fasse manuellement pour ne rien gâcher, mais j'aurais quand même besoin d'une déclaration renvoyant les ID de toutes les organisations dupliquées afin de pouvoir parcourir la liste des utilisateurs.