Domingo 22 de Diciembre de 2024, 10:28
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Bases de Datos
»
SQL Server
(Moderador:
ElNapster
) »
Recursividad
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Recursividad (Leído 2888 veces)
lencho
Miembro de PLATA
Mensajes: 1076
Recursividad
«
en:
Miércoles 8 de Agosto de 2007, 01:07 »
0
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.
Tweet
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"
lencho
Miembro de PLATA
Mensajes: 1076
Re: Recursividad
«
Respuesta #1 en:
Martes 14 de Agosto de 2007, 01:52 »
0
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.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"
lencho
Miembro de PLATA
Mensajes: 1076
Re: Recursividad
«
Respuesta #2 en:
Jueves 23 de Agosto de 2007, 01:43 »
0
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.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"
abel_cuentas_b
Miembro activo
Mensajes: 39
Re: Recursividad
«
Respuesta #3 en:
Martes 2 de Octubre de 2007, 06:26 »
0
que chevere que tu mismo saques tus propias concluciones
se ve que le das duro al
lencho
Miembro de PLATA
Mensajes: 1076
Re: Recursividad
«
Respuesta #4 en:
Miércoles 3 de Octubre de 2007, 04:36 »
0
Cita de: "abel_cuentas_b"
que chevere que tu mismo saques tus propias concluciones
se ve que le das duro al
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 !!!
Saludos.
BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Recursividad
«
Respuesta #5 en:
Domingo 14 de Octubre de 2007, 20:11 »
0
nose, pero debe existir algo e SQL Sever parecido al Coonect by prior de oracle, que precisamente hace ese tiop de cosas de una manera muy facil.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Bases de Datos
»
SQL Server
(Moderador:
ElNapster
) »
Recursividad