Aiuto su una query: ordinamento complesso
Salve,
vorrei sapere se fosse possibile eseguire particolare tipo di ordinamento.
Ho una tabella per gestire illimitate categorie sia come numero sia come profondità
-----------------------------------------------------
categoria(id, nome, posizione, genitore)
-----------------------------------------------------
dove ovviamente "genitore" indica l'id della categoria al quale l'elemento corrente appartiene,
mentre "posizione" rappresenta il percorso nella gerarchia: "1>2" significa che l'elemento con id 2
è figlio dell'elemento con id 1.
Se la tabella è popolata dai seguenti dati
1 | cat_a | 1> | 0
2 | cat_b | 2> | 0
3 | cat_e | 1>3> | 1
4 | cat_d | 1>4> | 1
5 | cat_c | 2>5> | 2
e volessi visualizzarli correttamente per mostrare la gerarchia delle categorie.
Cioè creare il seguente output:
cat_b
- cat_e
- cat_d
cat_a
- cat_c
il problema sarebbe risolvibile semplicemente con "SELECT * FROM categoria ORDER BY posizione ASC".
Ma se volessi ordinare le categorie e le sottocategorie anche in base al nome cosa potrei fare?
Un semplice "SELECT * FROM categoria ORDER BY posizione ASC, nome ASC" è inutile.
Il risultato che vorrei ottenere è questo
cat_a
- cat_c
cat_b
- cat_d
- cat_e
...è possobile eseguire questo ordinamento da mysql?
grazie anticipatamente
Edited 1 time(s). Last edit at 07/24/2010 10:11AM by Nicola Devito.
Subject
Views
Written By
Posted
Aiuto su una query: ordinamento complesso
3329
July 24, 2010 10:09AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.