¿Cuál es la forma más simple de hacer una auto-unión recursiva en SQL Server? Tengo una tabla como la siguiente:¿La manera más simple de hacer una auto-unión recursiva?
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
5 YT NULL
6 IS 5
Y yo quiero ser capaz de obtener los registros solo acerca de una jerarquía a partir de una persona específica. Así que si yo solicité la jerarquía de CJ por PersonaID = 1 me gustaría tener:
PersonID | Initials | ParentID
1 CJ NULL
2 EB 1
3 MB 1
4 SW 2
Y para EB de que conseguiría:
PersonID | Initials | ParentID
2 EB 1
4 SW 2
estoy un poco atascado en esto no se puede pensar en lo para hacerlo aparte de una respuesta de profundidad fija basada en un grupo de combinaciones. Esto funcionaría como sucede porque no tendremos muchos niveles, pero me gustaría hacerlo correctamente.
Gracias! Chris.
¿Qué versión de SQL Server está usando? es decir Sql 2000, 2005, 2008? – chadhoc
ASÍ QUE preguntas sobre consultas recursivas: http://stackoverflow.com/search?q=sql-server+recursive –