Cita:
Iniciado por leonardo_josue
Hola davidj:
Como menciona gnzsoloyo, esto pareciera ser más bien un tema de programación, pero como mencionas que lo quieres hacer en un solo SELECT, trataré de centrarme sólo en el tema de SQL...
MySQL no soporta consultas jerárquicas, sin embargo, si tienes una "profundidad" fija, es decir, que conoces cuál es el número de nodos enlazados que tiene tu árbol podrías hacer algo como esto:
Código MySQL:
Ver original+--------------+------------------+---------------------------+
| id_categoria | nombre_categoria | categoria_descendiente_id |
+--------------+------------------+---------------------------+
| 1 | Ropa | 0 |
| 2 | Camisas | 1 |
| 3 | Manga larga | 2 |
+--------------+------------------+---------------------------+
mysql
> SELECT T1.id_categoria
, -> T1.nombre_categoria) arbol
-> LEFT JOIN tabla T2
ON T1.categoria_descendiente_id
= T2.id_categoria
-> LEFT JOIN tabla T3
ON T2.categoria_descendiente_id
= T3.id_categoria
; +--------------+------------------------------+
| id_categoria | arbol |
+--------------+------------------------------+
| 1 | Ropa |
| 2 | Ropa > Camisas |
| 3 | Ropa > Camisas > Manga larga |
+--------------+------------------------------+
Te repito, si la profundidad de tu árbol es más grande, la consulta se podría complicar mucho, pero con pocas dependencias igual y te puede servir...
Checa también esta página:
http://dev.bombozama.info/datos-jera...en-php-y-mysql
Creo que te puede servir también..
Saludos
Leo.
Primero, gracias de antemano.
Tomo nota, aunque no sabría la profundidad, es decir, no sabría el árbol de categorias descendientes y por tanto, como tu comentas, el código que me has facilitado no sería útil.
¿Alguien tiene alguna otra idea para hacerlo ?