Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/11/2012, 13:25
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta categoria recurrentes

En ese caso necesitas controlar el nivel

IdCat, Cat,idPadre,nivel
1,Lapiz,0,1
2,HijoLapiz,1,2
3,NietoLapiz,2,3

Con ese dato adicional se puede solucionar construyendo una query distinta en cada caso. Yo lo haria con programación externa, que no seria objeto de este foro....

A partir del nivel de la categoria buscada y del maximo nivel posible es facil montar un bucle que construya la query adecuada....


En este caso el nivel de lapiz es 1 y el maximo nivel es 3

Código MySQL:
Ver original
  1. SELECT .....
  2. FROM....
  3. WHERE ID_CATEGORIA = 1 <----Padre Nivel 1
  4.     OR ID_CATEGORIA IN (SELECT id FROM categorias WHERE ID_Padre=1) <---Hijas Nivel 2
  5.     OR ID_CATEGORIA IN (SELECT id FROM categorias WHERE id_Padre IN
  6.                             (SELECT id FROM categorias WHERE ID_Padre=1)) <---Nietas Nivel 3 (Max)

Para HijoLapiz nivel 2

Código MySQL:
Ver original
  1. SELECT .....
  2. FROM....
  3. WHERE ID_CATEGORIA = 2 <----Padre Nivel 2
  4.     OR ID_CATEGORIA IN (SELECT id FROM categorias WHERE ID_Padre=2) <---Hijas Nivel 3 (Max)


Yo siempre lo he solucionado asi, pero estaré atento a soluciones mas directas....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.