Quelle est la manière la plus simple d'effectuer une auto-jointure récursive dans SQL Server? J'ai une table comme ceci:Façon la plus simple de faire une auto-jointure récursive?
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
Et je veux être en mesure d'obtenir les dossiers uniquement liés à une hiérarchie commençant par une personne spécifique. Donc, si j'ai demandé la hiérarchie de CJ par PersonID = 1 je recevrais:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
Et pour obtiendriez de EB I:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
Je suis un peu coincé sur ce qui peut ne peut pas penser comment pour le faire en dehors d'une réponse à profondeur fixe basée sur un tas de jointures. Cela ferait comme il arrive parce que nous n'aurons pas beaucoup de niveaux mais je voudrais le faire correctement.
Merci! Chris.
Quelle version de SQL Server utilisez-vous? c'est-à-dire Sql 2000, 2005, 2008? – chadhoc
SO questions concernant les requêtes récursives: http://stackoverflow.com/search?q=sql-server+recursive –