Salve, ho un piccolo problema.

Ho uno script PHP che organizza dei dati in categorie. Le categorie sono in una tabella a parte, con i campi

id
genitore
nome

in questo modo, posso permettere l'annidamento di cartelle.
Se genitore = 0, allora la cartella è a livello base, altrimenti genitore contiene l'id della genitore.
A questo punto, nella tabella con i dati, ci sarà un campo
id_cat che indica in quale cartella deve trovarsi il file.

Ad esempio

codice:
id    genitore   nome
1     0          cart1
2     0          cart2
3     1          cart3
4     1          cart4
5     3          cart5
5     2          cart6
rappresenta la struttura gerarchica

codice:
+ cart1
  + cart3
    + cart5
  + cart4
+ cart2
  + cart6
A questo punto ho da risolvere un bel problema, contare i record contenuti dentro una cartella, ma, ovviamente, questo numero deve contenere anche i valori di tutte le sottocartelle (in modo ricorsivo, insomma).

Tipo, se voglio il numero di record di cart1, dovrei contare:
- i record inseriti direttamente in cart1
- i record in cart3
- i record in cart5
- i record in cart4

potrei agire a livello PHP, ma mi sembra un processo molto lungo e che richiede l'ausilio di tantissime query.
Non esiste un modo, con una sola query di semplificare il lavoro?

Grazie a tutti.