Qual é a maneira mais simples de fazer uma autojunção recursiva no SQL Server? Eu tenho uma mesa assim:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
E eu quero ser capaz de obter os registros relacionados apenas a uma hierarquia começando com uma pessoa específica. Portanto, se eu solicitasse a hierarquia de CJ por PersonID = 1, eu obteria:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
E para EBs eu obteria:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
Estou um pouco preso nisso, não consigo pensar em como fazer isso sem uma resposta de profundidade fixa baseada em um monte de junções. Isso aconteceria como acontece porque não teremos muitos níveis, mas eu gostaria de fazê-lo corretamente.
Obrigado! Chris.