Bases de Datos > SQL Server
Recursividad
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
[#] Página Siguiente
Ir a la versión completa