Jak mogę wygenerować ścieżkę hierarchii w SQL, która prowadzi do danego węzła?
W mojej bazie danych MS SQL 2008 R2 mam tę tabelę:
TABLE [Hierarchy]
[ParentCategoryId] [uniqueidentifier] NULL,
[ChildCategoryId] [uniqueidentifier] NOT NULL
Muszę napisać zapytanie, które wygeneruje wszystkie ścieżki prowadzące do danego węzła.
Powiedzmy, że mam następujące drzewo:
A
-B
--C
-D
--C
Które będą przechowywane jako:
NULL | A
A | B
A | D
B | C
D | C
Pytając o ścieżki do C, chciałbym odzyskać dwie ścieżki (napisane mniej więcej tak):
A > B > C,
A > D > C