J'ai une table comme suitrequête SQL pour trouver le groupe
studentID Subject
1 Sub1
2 Sub1
3 Sub1
4 Sub1
1 Sub2
2 Sub2
4 Sub2
1 Sub3
3 Sub3
4 Sub3
J'ai besoin de regrouper les étudiants qui a le même ensemble de Subjects.Just ont besoin d'un donner un identifiant de groupe unique aux étudiants avec un même ensemble de sujets .
donc ici id étudiant (1) et (4) va se dire groupe id = 1
id étudiant 2 - id groupe = 2 (personne d'autre n'a que des sous 1 et sous 2)
étudiant id 3 - id = groupe 3
le résultat devrait être comme
studentid groupid
1 1
4 1
2 2
3 3
J'ai écrit un sqlquery qui utilise FORXML pour regrouper tous les sujets d'un étudiant à une seule colonne puis utilisez un groupe b y sur cette colonne et ensuite leur associer un rang. Existe-t-il une meilleure façon de le faire?
Bonne question, ce n'est pas facile dans SQL. Créer une description de groupe en utilisant 'for xml' semble être une astuce pour résoudre ce problème. – Andomar
Je pense que c'est une bonne façon de résoudre ce problème avec le regroupement par Sub concaténé. Vous devez vérifier que vous avez l'ordre correct des sujets dans la chaîne concaténée, bien que –