Originariamente inviato da Luca Rotella
Per un problema similare, in cui avevo anche la necessità di tracciare un "albero" stile esplora risorse, ho aggiunto alla mia tabella (in cui erano contenuti "padri", "figli", "nipoti", ecc) una colonna denominata Layout. In quel campo ho valorizzato delle stringhe di testo del tipo "5.12.23" cioè per ogni elemento ho riportato nell'ordine gli id dei suoi "antenati"...
Per fare un esempio pratico:
ID | Layout | descrizione
1 | | Genitore
2 | 1 | Figlio n°1
3 | 1 | Figlio n°2
4 | 1.3 | Nipote (figlio di Figlio n°2)
5 | 1.3.4 | Bisnipote (sottocategoria di 1, 3, 4)...
(spero di essere riuscito a spiegarmi...)
Questo consente, oltre a dare la possibilità di infinite sottocategorie, di ordinare per "Layout" la query ed avere un "albero" pronto per essere disegnato.
Il campo layout poi è facilmente interpretabile con un semplice split.