Hola
Tengo una tabla asi:
Cod descipcion CodPadre
1 Linea de items A 0
11 Sub Linea de A 1
111 Sub-Sub Linea de A 11
1111 Item verde 111
1112 Item Blanco 111
1113 Item Rojo 111
2 Linea de Items B 0
21 Sub linea de B 2
211 Item B-negro 21
212 Item B-Azul 21
Resulta que los niveles son variables y necesito construir una tabla asi:
Padre Padre1 Padre2 Padre3 Cod Item
0 0 0 0 1 Linea de
items A
0 0 0 1 11 Sub Linea
de A
0 0 1 11 111 Sub-Sub Linea
de A
0 1 11 111 1111 Item Verde
0 1 11 111 1112 Item Blanco
0 1 11 111 1113 Item Rojo
0 0 0 0 2 Linea de
items B
0 0 0 2 21 Sub Linea
de B
0 0 2 21 211 Item B-negro
0 0 2 21 212 Item B-Azul
Por tanto he logrado hacer una consulta que obtiene el resultado pero no me
gusta por que limita la cantidad de niveles posibles es algo así:
SELECT T.Cod,T.Descripcion, T, T1.cod,T2.Cod,T3.Cod,
T1.Descripcion,T2.Descripcion,T3.Descripcion
FROM T left join ( select * from T ) T1
ON T.Padre=T1.Cod
LEFT JOIN ( select * from T ) T2
ON T1.Padre=T2.cod
LEFT JOIN ( select * from T ) T3
ON T2Padre=T3cod
Hay alguna otra forma de hacerlo de manera que las columnas del resultado
sean variables???? o alguna otra manera que aunque limite la cantidad de
columanas resultantes ( igual a como lo tengo) sea mas optima???
Necesito esto por culpa del CrystalReports ya que necesito tener los cortes
de control en el reporte y para cada corte de control se necesita un campo.
O si saben de alguna otra forma de resolver liustados jerarquicos les
agradeceria me den ideas
GRACIAS POR SU TIEMPO
Salu2
Sergio
Leer las respuestas