(Der er adskillige tilgange til indlejrede sløjfer/forespørgsler.. en idé om strukturændring ville være at have en separat tabel, der viser alle børnene i hver kategori.. og sørg for, at den ikke kun har de umiddelbare børn, den har også underordnet -børn og under-underbørn... som 1 har barn 2, 2 har barn 3, 1 har barn 3, 3 har barn 5, 1 har barn 5.. osv..) MEN, for den nuværende situation..
Én sløjfestruktur kunne være:
Start resultatsæt. ||Forespørgsel for alle kategori-id'er, hvor overordnet =0. || Føj hver til array (X). ||Luk resultatsæt.
For hvert id i array (X):
- Opret en ny tællevariabel (z).
-
Etabler et nyt underordnet id-array (Y).
-
Start resultatsæt. ||Forespørgselsantal * for alle elementer med kategori =aktuelt id x ||Tilføj til tællevariabel (z) ||Luk resultatsæt.
-
Start resultatsæt. ||Forespørgsel for alle kategori-id'er, hvor overordnet =aktuelt id x ||Føj alle til underordnet id-array (Y). ||Luk resultatsæt.
-
mens underordnet array (Y) længde> 0
-
kategori id y =første element i array (Y)
-
Start resultatsæt. ||Forespørgsel for alle kategori-id'er, hvor overordnet =nuværende id y. ||Føj alle til underordnet id-array (Y). ||Luk resultatsæt.
-
Start resultatsæt. ||Forespørgselsantal * for alle elementer med kategori =aktuelt id y ||Tilføj til tællevariabel (z) ||Luk resultatsæt.
-
fjern første element fra array (Y)
-
-
fortsæt mens loop
-
På dette tidspunkt har du det endelige elementantal (z) for kategori id x... gør noget med det, fortsæt derefter med for-løkken
End for loop