Qual è il modo più semplice per eseguire un auto join ricorsivo in SQL Server? Ho un tavolo come questo:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
E voglio essere in grado di ottenere i record solo relativi a una gerarchia che inizia con una persona specifica. Quindi, se richiedessi la gerarchia di CJ per PersonID = 1, otterrei:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
E per gli EB otterrei:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
Sono un po 'bloccato su questo non riesco a pensare a come farlo a parte una risposta a profondità fissa basata su un mucchio di join. Questo farebbe come succede perché non avremo molti livelli ma vorrei farlo correttamente.
Grazie! Chris.