Hallo!
Ich habe folgendes Problem: bei der Anzeige einer Sammlung von CDs soll zunächst die Liste alphabetisch nach Künstlern sortiert werden. Soweit kein Problem. Aber am Ende der Liste sollen dann die Sampler aufgelistet werden. Hier kann natürlich nicht die Sortierung nach Künstler greifen, sondern nach dem Namen des Samplers. Ob es sich bei einer CD um einen Sampler handelt oder nicht, wird mittels eines Flags (0=normale CD, 1=Sampler) gekennzeichnet.
Der Query sieht ungefähr so aus (aufs wesentliche reduziert, da kommen normalerweise noch mehr Daten dazu):
SELECT a.name, m.name, m.sampler FROM art AS a, med AS m, relam AS am WHERE a.id = am.aid AND m.id = am.mid GROUP BY m.mid ORDER BY m.sampler ASC, a.name ASC, m.name ASC;
Gibt es eine Möglichkeit, den ORDER BY Block so zu modifizieren, dass er nach a.aName sortiert wenn m.mSampler = 0 und nach m.mName wenn mSampler = 1? Oder muss ich da mit zwei getrennten Querys arbeiten? Denn im Moment sortiert er noch bei den Sampler nach dem Künstler, der als erstes diesem Sampler zugewiesen wurde, was ja so nicht ganz richtig ist.
Ach so, meine MySQL Version ist leider noch Version 3.23.58.
Ich habe folgendes Problem: bei der Anzeige einer Sammlung von CDs soll zunächst die Liste alphabetisch nach Künstlern sortiert werden. Soweit kein Problem. Aber am Ende der Liste sollen dann die Sampler aufgelistet werden. Hier kann natürlich nicht die Sortierung nach Künstler greifen, sondern nach dem Namen des Samplers. Ob es sich bei einer CD um einen Sampler handelt oder nicht, wird mittels eines Flags (0=normale CD, 1=Sampler) gekennzeichnet.
Der Query sieht ungefähr so aus (aufs wesentliche reduziert, da kommen normalerweise noch mehr Daten dazu):
SELECT a.name, m.name, m.sampler FROM art AS a, med AS m, relam AS am WHERE a.id = am.aid AND m.id = am.mid GROUP BY m.mid ORDER BY m.sampler ASC, a.name ASC, m.name ASC;
Gibt es eine Möglichkeit, den ORDER BY Block so zu modifizieren, dass er nach a.aName sortiert wenn m.mSampler = 0 und nach m.mName wenn mSampler = 1? Oder muss ich da mit zwei getrennten Querys arbeiten? Denn im Moment sortiert er noch bei den Sampler nach dem Künstler, der als erstes diesem Sampler zugewiesen wurde, was ja so nicht ganz richtig ist.
Ach so, meine MySQL Version ist leider noch Version 3.23.58.
Kommentar