MySQL Forums
Forum List  »  French

ORDER BY complexe
Posted by: Patrice Vernet
Date: December 20, 2010 01:15PM

Edit:
Je viens de me rendre compte que la même question a été posée un peu plus bas, et Jean Molliné suspecte une erreur de conception dans la table. Je laisse ma quesion, car je ne peux pas changer mon modèle, et j'espère qu'il existe une solution MySQL malgré tout.


_________________________
Bonjour à tous,

Je sèche complètement sur un problème d'ORDER BY depuis plusieurs jours.

Voila la structure de ma table, et des valeurs d'exemple :
On peux différencier les articles "Parents" (qui n'ont pas d'ID_REF) et les articles "Enfants" (qui font référence a un Parent).

ID NOM ID_REF
1 ebc 0
2 dcf 3
3 cdr 0
4 abd 3
5 btr 1
6 acf 3

J'aimerai que lors des tris sur cette table, les articles ayant le même ID_REF soient à la suite, et juste au dessous de l'ID qui a l'ID_REF. Ainsi, par ex :

Tri sur ID :
1 ebc 0
...5 btr 1
3 cdr 0
...2 dcf 3
...4 abd 3
...6 acf 3

Tri sur NOM :
3 cdr 0
...2 dcf 3
...4 abd 3
...6 acf 3
1 ebc 0
...5 btr 1

En somme (je reformule), le but est de trier les parents, puis d'attacher juste derrière eux leurs enfants (L'ordre des enfants entre eux n'a pas d'importance).

Désolé si ce n'est pas très bien expliqué, j'ai essayé d'être concis. les 3 points ne sont là que pour indenter le résultat.

J'ai tenté des UNION, des ORDER BY CASE, etc... mais je ne m'en sors pas.
Si quelqu'un pouvait m'aiguiller, ça serait très sympa.
D'avance, merci.



Edited 1 time(s). Last edit at 12/20/2010 01:32PM by Patrice Vernet.

Options: ReplyQuote


Subject
Views
Written By
Posted
ORDER BY complexe
3141
December 20, 2010 01:15PM


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.