Stai organizzando i tuoi dati gerarchici utilizzando il modello di elenco di adiacenza . Il fatto che tali operazioni ricorsive siano difficili è in effetti uno dei principali inconvenienti di questo modello.
Alcuni DBMS, come SQL Server 2005, Postgres 8.4 e Oracle 11g, supportano query ricorsive utilizzando espressioni di tabelle comuni con il WITH
parola chiave.
Per quanto riguarda MySQL, potresti essere interessato a controllare il seguente articolo che descrive un modello alternativo (il set nidificato modello ), che semplifica (possibile) le operazioni ricorsive:
Inoltre, suggerisco anche di dare un'occhiata alla presentazione di Bill Karwin sottolineato nei commenti sopra. Il modello di tabella di chiusura descritto è un'alternativa molto valida al set nidificato.