Query recursiva

Hola, me gustaría saber si existe alguna query que realice lo siguiente:
Tenemos una tabla que tiene una foreing a si misma, es decir, una tabla dónde existen muchos registros, que tienen a su vez muchos registros hijos, y estos a su vez más hijos y así sucesivamente.
¿Hay alguna forma de hacer una consulta que directamente me obtenga los registros en forma de árbol?
Gracias

1 respuesta

Respuesta
1
Sql-server admite recursividad, pero esta recursividad solo puede tener 32 niveles puedes comprobar el nivel con la variable @@nestlevel (revisa la sintaxis que no tengo los bol a mano), ahora bien, lo que preguntas no tiene una respuesta de, .. si, select ... from XX, es más complicado ya que Sql-server ni el estándar ANSI-92 tiene la clausula 'start with... connect by prior' de oracle. Para solucionar eso, en la revista (estupenda por cierto) Sql-server magazine, en uno de los artículos que no son de pago explican una solución, tienes que hacer un trigger y algunas cosas. En el grupo de noticias de Sql-server (newsgroup. Microsoft.com) en el grupo español de sql (microsoft. public. Es.sqlserver) el maestro Fernando G. Guerrero propuso también una solución parecida. Entonces, como conclusión, revisa sql/server magazine, revisa los mensajes de Fernando G. Guerrero en el newsgroup de sql/server, ahí, esta tu respuesta. (Algunas veces es mejor decir donde buscar, que la respuesta en si :). Fuera bromas no puedo decirte la dirección exacta ni el ejemplo por que no estoy en casa, estoy en el Tech-ed de Europa y aquí tengo internet, pero no mi pc.
Un Saludo
Miguel Egea
Microsoft Sql-server M.V.P.
http://www22.brinkster.com/miguele

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas