Как я могу создать иерархический путь в SQL, который ведет к данному узлу?

В моей базе данных MS SQL 2008 R2 у меня есть эта таблица:

TABLE [Hierarchy]
[ParentCategoryId] [uniqueidentifier] NULL,
[ChildCategoryId] [uniqueidentifier] NOT NULL

Мне нужно написать запрос, который будет генерировать все пути, которые ведут к данному узлу.

Допустим, у меня есть следующее дерево:

A
-B
--C
-D
--C

Который будет храниться как:

NULL | A
A    | B
A    | D
B    | C
D    | C

При запросе путей для C я хотел бы получить два пути (написанных более или менее так):

A > B > C,
A > D > C

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

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