Ça ne marche pas aussi, l'ordre est à l'envers : 3, 2, 1
abs ? c'est quoi ?
Ça ne marche pas aussi, l'ordre est à l'envers : 3, 2, 1
abs ? c'est quoi ?
Excuse-moi, c'est id_proposition qui doit être égal à 5 ?
abs, c'est la valeur absolue.
Le raisonnement, c'est de dire que si tu veux le "5" en premier, il suffit presque de ranger par 5 - valeur : dans ce cas, 5 - valeur vaut 0
Sauf que pour les valeurs < 5, 5 - valeur donne un nombre négatif. Ce qui est réglé avec la valeur absolue...
Donc :
ça marche ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORDER BY abs(5 - type_proposition)
Ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORDER BY abs(2 - id_type_proposition)
(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...
Le pacblog : http://pacmann.over-blog.com/
Bon !
Peux tu nous poster un script de création de tes tables et un jeu d'essai ?
Merci
Christophe B.
Ah, attends, y'a vachement plus simple !
Par contre, on n'a pas dit que c'est bien de faire ce genre de trucs...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 order by CASE id_type_proposition WHEN 2 then 0 ELSE id_type_proposition END
(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...
Le pacblog : http://pacmann.over-blog.com/
Alleluya !!!! Merci, sa marche en faisant ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT TP.id_type_proposition, TP.type_proposition FROM T_type_proposition TP JOIN T_proposition P ON TP.id_type_proposition = P.id_type_proposition AND P.id_proposition = 5 UNION SELECT TP.id_type_proposition, TP.type_proposition FROM T_type_proposition TP JOIN T_proposition P ON TP.id_type_proposition = P.id_type_proposition AND P.id_proposition <> 5 ORDER BY abs(2 - id_type_proposition)
heu pourquoi ce serait pas bien ?
Je n'en suis pas certain mais je crois que l'utilisation de la commande CASE...WHEN grève beaucoup les performances.
N'oublie pas le tag
+++
Christophe B.
En fait, je n'en sais rien, c'est juste un mauvais pressentiment.
Si jamais quelqu'un qui connaît le fonctionnement des optimiseurs passe dans le coin, il pourrait nous dire si le fait de mettre une fonction à la con dans le ORDER BY ne rend pas l'index inutilisable...
(SQL Pro parle parfois de trucs sargeable etc..., mais j'ai jamais fait l'effort de vraiment me documenter sur le sujet )
(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...
Le pacblog : http://pacmann.over-blog.com/
OK, je ferais attention aux perfs, sinon je mettrais la 1er solution, et
MERCI A TOUS
Plus simplement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT TP.id_type_proposition ,TP.type_proposition FROM T_type_proposition TP JOIN T_proposition P ON TP.id_type_proposition = P.id_type_proposition ORDER BY CASE WHEN id_type_proposition = 5 THEN 0 ELSE 1 END , id_type_proposition
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Et c'est plus simple que :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORDER BY CASE id_type_proposition WHEN 2 then 0 ELSE id_type_proposition END
Pourquoi ?
(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...
Le pacblog : http://pacmann.over-blog.com/
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.
Effectivement !
Quel coup d'oeil, cet al1 !
(c'est ma photo)
Paku, Paku !
Pour les jeunes incultes : non, je ne suis pas un pokémon...
Le pacblog : http://pacmann.over-blog.com/
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager