MySQL Forums
Forum List  »  Italian

Aiuto su una query: ordinamento complesso
Posted by: Nicola Devito
Date: July 24, 2010 10:09AM

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.

Options: ReplyQuote


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.