self-related tables

15/03/2006 - 17:44 por Adrian | Informe spam
Hola,

Tengo una tabla con los siguientes campos (IdGrupo, Descripcion,
IdGrupoPadre), en la cual IdGrupoPadre se relaciona con IdGrupo de si misma,
en una relacion de jerarquia.

Imaginemos q tengo estos datos

IdGrupo, Descripcion, IdGrupoPadre
1, Grupo1, NULL
2, Grupo2, 1
3, Grupo3, 2
4, Grupo4, 2

Yo quiero pasarle un IdGrupo y obtener los hijos y su descendencia completa.
Por ejemplo, le paso "1" y quiero obtener "2, 3, 4" (2 por ser hijo, 3 y 4
por ser hijos de 2).

Y asi hasta N niveles.

Como podria ser la consulta?


Muchas gracias,



Adrian
 

Leer las respuestas

#1 Alejandro Mesa
15/03/2006 - 19:13 | Informe spam
Chequea en los BOL por "Expanding Hierarchies". SQL Server 2000 no cuenta con
queries recursivos (sql server 2005 cuenta con esta facilidad), por lo que
quizas te serva usar otro tipo de representacion. Aca tienes un link para que
leas al respecto.

Trees in SQL: Nested Sets and Materialized Path
http://www.dbazine.com/oracle/or-ar...tropashko4


AMB

"Adrian" wrote:

Hola,

Tengo una tabla con los siguientes campos (IdGrupo, Descripcion,
IdGrupoPadre), en la cual IdGrupoPadre se relaciona con IdGrupo de si misma,
en una relacion de jerarquia.

Imaginemos q tengo estos datos

IdGrupo, Descripcion, IdGrupoPadre
1, Grupo1, NULL
2, Grupo2, 1
3, Grupo3, 2
4, Grupo4, 2

Yo quiero pasarle un IdGrupo y obtener los hijos y su descendencia completa.
Por ejemplo, le paso "1" y quiero obtener "2, 3, 4" (2 por ser hijo, 3 y 4
por ser hijos de 2).

Y asi hasta N niveles.

Como podria ser la consulta?


Muchas gracias,



Adrian



Preguntas similares