OT: Recursividad en consulta SQL MariaDB

337 views
Skip to first unread message

Francisco

unread,
Oct 30, 2015, 4:54:24 AM10/30/15
to Comunidad de Visual Foxpro en Español
Tengo una tabla articulos tal que 

ARTICULOS (id,descripcion)

Otra composiciones 

COMPOSICION(id,id_madre,id_hija)

Como se puede apreciar es multi-nivel y no se sabe cuantos niveles puede llegar a tener (obviamente no es cíclica), he estado intentando armar de alguna manera una tabla temporal que contenga todos los niveles tal que algo así

RESULTADO(id,nivel,id_articulo,descripcion)

Mi pregunta es si existe alguna manera o alguien ha hecho algo directamente desde MariaDB/MySQL que genere este tipo de tablas recursivas.


Articulos
id,descripcion
1,uno
2,dos
3,tres
4,cuatro
5,cinco

Composicion
1,1,2
2,2,3
3,1,4
4,4,3
5,5,2

De tal manera que la consulta devuelva una estructura para el árbol citado
Ej:

uno
    dos
        tres
    cuatro
        tres
cinco
    dos

pd: Espero no haber cometido errores al generar el árbol.





Jorge L. Florez C.

unread,
Oct 30, 2015, 11:11:03 AM10/30/15
to publice...@googlegroups.com

En oracle lo puedes hacer con connect by.
Saludos
Jorge Florez
Lima - Perú

El 30/10/2015 03:54, "Francisco" <dire...@informatica-apliges.com> escribió:

Jorge Florez

unread,
Oct 30, 2015, 11:50:48 AM10/30/15
to publice...@googlegroups.com
Hola, como estas, revisalo, a lo mejor te sirve
 
SELECT padres.padre,;
       padres.nombre_padre,;
       hijos.hijo,;
       hijos.nombre_hijo ;
  FROM ( SELECT jerarquia.codpad as padre,;
                  usuarios.nombre as nombre_padre ;
             FROM jerarquia,;
                usuarios ;
          WHERE jerarquia.codpad = usuario.codigo ) padres,;
       ( SELECT jerarquia.codpad as padre,;
                  jerarquia.codhij as hijo,;
                  usuarios.nombre as nombre_hijo ;
             FROM jerarquia,;
                usuarios ;
          WHERE jerarquia.codhij = usuario.codigo ) hijos,;
  WHERE padres.padre = hijos.hijo ;
  ORDER BY padres.padre,;
           hijos.hijo
 
 
Saludos
Jorge Florez
Lima – Perú

Víctor Hugo Espínola Domínguez

unread,
Oct 30, 2015, 7:33:38 PM10/30/15
to publice...@googlegroups.com

Saludos,
Víctor.
Lambaré - Paraguay.

Reply all
Reply to author
Forward
0 new messages