Как я могу создать иерархический путь в 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