Hacer consulta a tabla con campo de dependencia recurrente

Query con dependencias hasta 5 niveles

 




select c1.CategoriaId,

CONCAT(

c1.Nombre,

IF(c2.Nombre IS NULL, '', concat(' - ',c2.Nombre)),

IF(c3.Nombre IS NULL, '', CONCAT(' - ',c3.Nombre)),

IF(c4.Nombre IS NULL, '', CONCAT(' - ',c3.Nombre)),

IF(c5.Nombre IS NULL, '', CONCAT(' - ',c3.Nombre))

) AS nombre

from Categorias AS c1

LEFT JOIN Categorias AS c2 ON c2.DependeCategoriaId = c1.CategoriaId

LEFT JOIN Categorias AS c3 ON c3.DependeCategoriaId = c2.CategoriaId

LEFT JOIN Categorias AS c4 ON c4.DependeCategoriaId = c3.CategoriaId

LEFT JOIN Categorias AS c5 ON c5.DependeCategoriaId = c4.CategoriaId

WHERE c1.DependeCategoriaId = 0



Comenta si te ha servido. 

Comentarios

Lo Más Popular