Como posso gerar um caminho de hierarquia no SQL que leva a um determinado nó?
No meu banco de dados MS SQL 2008 R2 eu tenho esta tabela:
TABLE [Hierarchy]
[ParentCategoryId] [uniqueidentifier] NULL,
[ChildCategoryId] [uniqueidentifier] NOT NULL
Eu preciso escrever uma consulta que irá gerar todos os caminhos que levam a um determinado nó.
Vamos dizer que eu tenho a seguinte árvore:
A
-B
--C
-D
--C
Qual seria armazenado como:
NULL | A
A | B
A | D
B | C
D | C
Ao pedir os Caminhos para C, eu gostaria de voltar dois caminhos (escritos mais ou menos assim):
A > B > C,
A > D > C