Forse non hai letto bene:

Query per le categorie principali.

Ciclo per leggerle una per una.

Per OGNI categoria, faccio una nuova query che mi restituisca le sue sottocategorie

Ciclo interno per elencare le subcateg DELLA CATEGORIA CHE STO LEGGENDO ORA

Chiuso ciclo interno

Chiuso ciclo esterno

E si, fai una query principale e tante sottoquery quante sono le categorie principali.

L'unica alternativa è quella di leggere in un array le categorie e poi andare alla ricerca delle sotto categorie della categoria che stai elencando, ma sicuramente è molto più veloce far fare a lui la ricerca in sql piuttosto che farla tu...

Ciao!