Regroupement et Tri : cas particuler - SQL/NoSQL - Programmation
Marsh Posté le 23-04-2008 à 13:18:10
Déjà pour la requête, on verra aprés pour l'ordre :
Code :
|
POur l'ordre, je réfléchis...
Marsh Posté le 23-04-2008 à 13:19:06
Tu travailles sur quel SGBD ?
Marsh Posté le 23-04-2008 à 13:24:49
PEux être comme ca :
Code :
|
mais je ne suis pas sur que ton SGBD aime le if dans l'ORDER BY, sinon tu peux essayer de mettre le if dans un champ avec un AS et de le rappeler dans l'ORDER BY
Code :
|
Marsh Posté le 23-04-2008 à 14:58:07
Reply
Marsh Posté le 23-04-2008 à 12:39:18
Bonjour à tous,
J'ai une question en rapport avec le regroupement et le tri.
J'ai 2 tables : 'Contenu' et 'Pistes' dans un contexte de discoraphie d'un groupe.
La première table me permet de gérer le contenu d'un album (type de support, numéro de l'entité...
ex : face B de la cassette.)
La deuxième table me permet de stocker les tracklistings et cette table contient donc une clé étrangère
vers la première.
Mon problème se pose au fait qu'il y ait des pistes cachées. Pour gérer cela, j'ai une clé dans la table
'Pistes' qui pointe sur elle-même. Exemple : si la 5ème piste nommée 'Truc' de mon album contient 2 pistes
cachées 'Cache1' et'Cache2' alors dans la table 'Pistes' j'ai :
id Nom idParent numero_piste
----------------------------------------------------------
idTruc Truc null 5
idCache1 Cache1 idTruc 1
idCache2 Cache2 idTruc 2
Avec les numero_piste de 'Cache1' et'Cache2' étant les numéros d'ordre dans lesquels les chansons apparaissent
après la chanson 'Truc'.
Sachant que les pistes ne sont pas forcément enregistrées dans cet ordre en table, je ne peux pas faire d'ORDER BY
id pour les afficher correctement. J'aimerais que ma requête me rende les pistes de l'album
dans leur ordre de numero_piste croissant sachant que doivent apparaîtrent les pistes cachées juste après
leur piste parent, elles-même rangées par numero_piste. Le tout rangé par ordre d'entité (ici, face A, face B)
Ex de retour de requête :
numero_piste id nom idParent type ordre_entité (face)
--------------------------------------------------------------------------------------------------------
1 id_1 Chanson1 null K7 A
2 id_2 Chanson2 null K7 A
3 id_3 Chanson3 null K7 A
4 id_4 Chanson4 null K7 A
5 id_5 Chanson5 null K7 A
1 id_6 Chanson6 id_5 K7 A
2 id_7 Chanson7 id_5 K7 A
6 id_8 Chanson8 null K7 A
7 id_9 Chanson9 null K7 A
8 id_10 Chanson10 null K7 A
9 id_11 Chanson11 null K7 A
1 id_12 Chanson12 id_11 K7 A
10 id_13 Chanson13 null K7 A
11 id_14 Chanson14 null K7 A
12 id_15 Chanson15 null K7 A
1 id_16 Chanson16 null K7 B
2 id_17 Chanson17 null K7 B
3 id_18 Chanson18 null K7 B
......
Ca fait 2 jours que je me prends la tete et je n'y arrive pas !!
Merci d'avance pour votre aide.
Seb