Bases de Datos > SQL Server

 Recursividad

(1/2) > >>

lencho:
Tengo una tabla de tipo recursiva, es decir:


--- Código: Text ---Create Table Unidad(     idUnidad int primary key,     descripcion varchar,     idUnidadPadre int,     foreign key (idUnidadPadre) references Unidad(idUnidad)) 
y mi problema viene cuando a partir de un IDUNIDAD, necesito traer todos sus equivalencias, es decir su padre, su abuelo , etc,  e hijos, nietos, etc.
 
Supongo que esto se puede hacer mediante recursividad, peroo !!!!, no me ubico para hacer esto en SQL.

BYTE.

lencho:
aqui esta la recursividad.


--- Código: Text ---WITH DirectReports (IDPADRE, IDOPCION, NOMBRE, Level)    AS    (    -- Anchor member definition      SELECT E.IDPADRE, E.IDOPCION, E.NOMBRE, 0 AS Level      FROM SEG_T_OPCION AS e      WHERE E.IDPADRE IS NULL AND E.IDOPCION = @IDFORM      UNION ALL     -- Recursive member definition      SELECT E.IDPADRE, E.IDOPCION, E.NOMBRE, Level + 1      FROM SEG_T_OPCION AS e      INNER JOIN DirectReports AS d        ON e.IDPADRE = d.IDOPCION    )    -- Statement that executes the CTE    SELECT IDPADRE, IDOPCION, NOMBRE, Level    FROM DirectReports 

con esta consulta pude obtener a partir de un padre, todos sus hijos, nietos, etc.

BYTE.

lencho:
pero lo que no pude es que a partir de un ID cualquiera, traer sus padres (si es que los tiene), sus hijos (si es que los tiene).

lo unico que se me ocurrio es con dos consultas, la primera encontrar su padre, y la segunda la consulta que esta arriba.

Saludos.


BYTE.

abel_cuentas_b:
que chevere que tu mismo saques tus propias concluciones  :)

se ve que le das duro al  :comp:

lencho:

--- Cita de: "abel_cuentas_b" --- que chevere que tu mismo saques tus propias concluciones  :)

se ve que le das duro al  :comp:
--- Fin de la cita ---
pues, es que hay veces que no nos pueden ayudar. Y como realmente lo necesito, tenia que estar intentando resolverlo, y no quedarme con los brazos cruzados, esperando que me lo hagan !!! :D  :D  :D

Saludos.

BYTE.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa