Bonjour,
Voilà, jusqu'ici j'utilisais simplement la fonction "ORDER BY" qui me suffisait à trier mes résultats. Cependant, je souhaiterais les trier de façon plus complexe.
Voilà le contexte : j'ai une liste de locations. Celles-ci peuvent être classées 3, 2 ou 1 étoile(s) mais aussi 3, 2 ou 1 clévacance(s). Je sors la liste par ordre décroissant de 3 à 1 clévacance(s) (ORDER by idCle DESC), de façon à mettre en avant les locations les mieux notées. Mais j'ai récemment ajouté le classement préfectoral par étoiles.
Pour ce faire j'ai renommé mes entrées en 3p, 2p, 1p, et 3c, 2c, 1c.
Malheureusement en ordre décroissant , le 3p sors avant le 3c !
Or, le label "clévacances" doit sortir avant le classement préfecture du fait qu'il est plus rigoureux sur le confort.
Il faudrait donc tricher sur le trie en spécifiant de faire passer une valeur Xc avant une valeur Yc.
Ne faudrait-il pas tout simplement renommer (en langage SQL) toutes les retours d'entrées de la façon suivante : 3c = 6, 2c = 5, 1c = 4 , 3p = 3, 2p =2, 1p = 1. Puis trier par ordre décroissant de ces nouvelles correspondances.
Comment puis-je traduire ceci en langage SQL ?
Je vous remercie![]()
Partager