¿Cuál es la forma más sencilla de realizar una autounión recursiva en SQL Server? Tengo una mesa como esta:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
Y quiero poder obtener los registros solo relacionados con una jerarquía que comience con una persona específica. Entonces, si solicitara la jerarquía de CJ por PersonID = 1, obtendría:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
Y para EB obtendría:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
Estoy un poco atascado en esto, no puedo pensar en cómo hacerlo aparte de una respuesta de profundidad fija basada en un montón de combinaciones. Esto serviría como sucede porque no tendremos muchos niveles, pero me gustaría hacerlo correctamente.
¡Gracias! Chris.