Ce que je dois faire est de les commander dans les salles de classe, les laboratoires, les amphithéâtres et les auditoriums. Ce que je dois alors faire est de les organiser par leur identification. Donc pour les classes, je commence à partir de 1 et monte en conséquence.Utilisation de ASC/DESC dans un ORDER BY CASE()
Les seuls champs que j'utilise sont le roomID et la colonne type. (Devrait changer le type de voir que la façon dont il est une fonction SQL hein?)
SELECT *
FROM `rooms`
ORDER BY CASE WHEN `type` = 'Classroom'
THEN 1
WHEN `type` = 'Computer laboratory'
THEN 2
WHEN `type` = 'Lecture Hall'
THEN 3
WHEN `type` = 'Auditorium'
THEN 4
END
Il semble assez simple, mais je ne peux pas le faire fonctionner. Donc, toute aide serait grandement appréciée, d'autant plus qu'il s'agit probablement d'une question stupide.
+1 @spinon vous avez probablement raison, mais je suppose que cela ne fonctionne pas de la même manière sur différents dBs. par exemple. certains où le vôtre est nécessaire et certains où Syed Abdul Rahman est –
Cela fonctionne! La dernière ligne devrait être ORDER BY roomID, mais merci. Donc, si j'ai besoin de commander quelque chose par ASC ou DESC, je dois d'abord 'grouper' l'autre CAS. –
@conrad vous avez probablement raison. Il n'y avait pas d'étiquette pour savoir avec quoi il travaillait, alors je l'ai juste jetée là-bas comme une possibilité. – spinon