Самый простой способ сделать рекурсивное самостоятельное соединение?

Какой самый простой способ сделать рекурсивное самосоединение в SQL Server? У меня есть такая таблица:

PersonID | Initials | ParentID
1          CJ         NULL
2          EB         1
3          MB         1
4          SW         2
5          YT         NULL
6          IS         5

И я хочу иметь возможность получать записи, относящиеся только к иерархии, начиная с конкретного человека. Так что, если я попросил CJ 'S иерархия по PersonID = 1 я бы получил:

PersonID | Initials | ParentID
1          CJ         NULL
2          EB         1
3          MB         1
4          SW         2

И для EB 'яЯ получил: я

PersonID | Initials | ParentID
2          EB         1
4          SW         2

Я немного застрял на этой банкене думаю, как это сделать, кроме ответа с фиксированной глубиной, основанного на связке. Это будет так, как это происходит, потому что мы выигралиУ меня много уровней, но я бы хотел сделать это правильно.

Спасибо! Крис.

Ответы на вопрос(5)

Ваш ответ на вопрос