Ciao,
ho una tabella del DB che contiene le informazioni sulle pagine.
Per ogni pagina oltre ai dati unici c'č il campo parent_id che indica la pagina padre a cui essa appartiene.
Se č una pagina principale, il valore di parent_id sarā 0:

codice:
+-----------+-------------+---------+
|  page_id  |  parent_id  |  level  |
+-----------+-------------+---------+
|     1     |      0      |    0    |
+-----------+-------------+---------+
|     2     |      0      |    0    |
+-----------+-------------+---------+
|     3     |      1      |    1    |
+-----------+-------------+---------+
|     4     |      2      |    1    |
+-----------+-------------+---------+
|     5     |      3      |    2    |
+-----------+-------------+---------+
Il campo level indica il livello della pagina all'interno dell'albero, e il suo valore viene calcolato dall'applicazione (PHP) al momento dell'inserimento/modifica del record.
Escludendo questo campo, la tabella č ottimizzata, mentre lasciando il campo la tabella non rispetta la [color=royal blue]terza forma normale[/color], che prevede l'eliminazione delle dipendenze.

Č possibile con MySQL risalire al livello di una pagina senza leggerlo dal campo?
A me sembra un'operazione ricorsiva non implementabile in una where clause.