tri sql - SQL/NoSQL - Programmation
Marsh Posté le 16-03-2006 à 14:41:08
Je cherche à faire un tri un peu spécial en sql (MySQL), je pense que cela devrait être possible mais je ne sais pas comment le faire. Voilà à quoi ressemble ma table menu: id|order|parent_id|name ----------------------- 1 | 1 | 0 | root1 2 | 2 | 0 | root2 3 | 3 | 0 | root3 4 | 1 | 1 | sub_1_1 5 | 2 | 1 | sub_1_2 6 | 1 | 2 | sub_2_1 7 | 2 | 2 | sub_2_2 8 | 1 | 3 | sub_3_1 9 | 2 | 3 | sub_3_2 Cette table sert à manipuler un menu. En gros je désirer trier tous les résultats de façon à avoir mon arborescence. parent_id indique si un élément est un enfant (!0) ou un parent (0). order donne l'ordre d'affichage du groupe d'éléments ayant un même parent. Par rapport à l'exemple fourni plus haut je devrais récupérer les éléments dans cet ordre là: +root1 -sub_1_1 -sub_1_2 +root2 -sub_2_1 -sub_2_2 +root3 -sub_3_1 -sub_3_2 Si qqun pouvait m'éclairer, merci
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 16-03-2006 à 14:41:08
Je cherche à faire un tri un peu spécial en sql (MySQL), je pense que cela devrait être possible mais je ne sais pas comment le faire.
Voilà à quoi ressemble ma table menu:
id|order|parent_id|name
-----------------------
1 | 1 | 0 | root1
2 | 2 | 0 | root2
3 | 3 | 0 | root3
4 | 1 | 1 | sub_1_1
5 | 2 | 1 | sub_1_2
6 | 1 | 2 | sub_2_1
7 | 2 | 2 | sub_2_2
8 | 1 | 3 | sub_3_1
9 | 2 | 3 | sub_3_2
Cette table sert à manipuler un menu. En gros je désirer trier tous les résultats de façon à avoir mon arborescence.
parent_id indique si un élément est un enfant (!0) ou un parent (0). order donne l'ordre d'affichage du groupe d'éléments ayant un même parent.
Par rapport à l'exemple fourni plus haut je devrais récupérer les éléments dans cet ordre là:
+root1
-sub_1_1
-sub_1_2
+root2
-sub_2_1
-sub_2_2
+root3
-sub_3_1
-sub_3_2
Si qqun pouvait m'éclairer,
merci