(Existen numerosos enfoques para bucles/consultas anidadas... una idea de cambio de estructura sería tener una tabla separada que enumere todos los elementos secundarios de cada categoría... y asegurarse de que no solo tenga los elementos secundarios inmediatos, sino que también tenga el sub -hijos y sub-sub-hijos... como 1 tiene hijo 2, 2 tiene hijo 3, 1 tiene hijo 3, 3 tiene hijo 5, 1 tiene hijo 5... etc.) PERO, para la situación actual...
Una estructura de bucle podría ser:
Iniciar conjunto de resultados. ||Consulta de todos los ID de categoría donde principal =0. || Agregue cada uno a la matriz (X). ||Cerrar conjunto de resultados.
Para cada id en la matriz (X):
- Establecer una nueva variable de conteo (z).
-
Establecer una nueva matriz de ID de niño (Y).
-
Iniciar conjunto de resultados. ||Recuento de consultas * para todos los elementos con categoría =id actual x ||Agregar a la variable de conteo (z) ||Cerrar conjunto de resultados.
-
Iniciar conjunto de resultados. ||Consulta de todas las identificaciones de categoría donde padre =identificación actual x ||Agregue todo a la matriz de identificación secundaria (Y). ||Cerrar conjunto de resultados.
-
while arreglo hijo (Y) longitud> 0
-
id de categoría y =primer elemento de la matriz (Y)
-
Iniciar conjunto de resultados. ||Consulta de todos los ID de categoría donde padre =ID actual y. ||Agregue todo a la matriz de identificación del niño (Y). ||Cerrar conjunto de resultados.
-
Iniciar conjunto de resultados. ||Recuento de consultas * para todos los elementos con categoría =id actual y ||Agregar a la variable de conteo (z) ||Cerrar conjunto de resultados.
-
eliminar el primer elemento de la matriz (Y)
-
-
continuar mientras bucle
-
En este punto, tiene el recuento final de elementos (z) para la categoría id x... haga algo con él, luego continúe con el bucle for
Fin del ciclo