Hola, sé que os gusta el tema de las consultas, así que vengo a preguntar por una.
Tengo esta tabla:
categoryId: ID de la categoría.
parentId: indica si una categoría tiene padre. Si vale 0 es que es padre de primer nivel. Si vale cualquier otro número es el ID de la categoría padre a la que pertenece dicha categoría.
name: nombre.
position: posición para una posterior ordenación, a priori no influye.
type: hay que filtrar las que sean type = 1.
Cómo tiene que devolver las filas:
Para hacernos una idea del árbol, una vez filtrado por type = 1, quedaría así:
- Sin categoría
- Hardware
---- Tarjetas gráficas
-------- NVIDIA
-------- ATI
---- Auriculares - Cuadernos
¿Es posible hacer una consulta que los devuelva así de ordenados? Es decir, que por cada categoría padre muestre sus hijos por debajo (parentId = categoryId)
He intentado hacerlo con group by pero no sirve. Creo que hay que hacer una subconsulta, pero la verdad es que no se me ocurre, porque directamente no sé si es posible.
Con PHP puedo manejar los datos tranquilamente y ordenarlos con foreach, pero quiero saber si hay manera de que directamente los devuelva ordenados la consulta.
Gracias :si: