IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

ORDER BY et CASE


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de Rei Angelus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 292
    Points : 356
    Points
    356
    Par défaut ORDER BY et CASE
    En voulant ordonner une table contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Libelle
    ------
    ES
    GA
    ES/P
    OBS
    GA/F
    ES/A
    de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ES
    GA
    OBS
    ES/A
    ES/P
    GA/F
    J'ai découvert quelque chose qui me surprend.

    J'ai utilisé la requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Libelle
    FROM Table
    ORDER BY convert(varchar(1), case patindex("%/%", libelle) when 0 then 0 else 1 end) + libelle
    Il est possible de mettre des CASE dans un ORDER BY .

    Alors est ce que c'est moi qui m'excite pour rien ? ==> C'est du SQL standard.
    Ou est-ce que c'est mon SGBD (SYBASE) qui autorise ce genre de "fantaisie" ?

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    normalement, c'est standard, tant que la valeur du résultat de ORDER BY est unique pour chaque ligne (non-ambigüe), je ne vois pas pourquoi elle serait interdite

  3. #3
    Membre averti Avatar de Rei Angelus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 292
    Points : 356
    Points
    356
    Par défaut
    OK, merci pour ta réponse. Encore une grande avancée vers la connaissance pour mon petit cerveau .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. order by decode ou case
    Par Marcel Chabot dans le forum PL/SQL
    Réponses: 6
    Dernier message: 03/06/2010, 16h30
  2. Special query SELECT * FROM CASE WHERE ORDER
    Par WildGroup dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/06/2009, 21h17
  3. [CASE] et [ORDER BY] prb
    Par you98 dans le forum SQL
    Réponses: 1
    Dernier message: 07/08/2007, 22h03
  4. Soucis d'ORDER BY dynamique (CASE) dans un OVER()
    Par Danny Blue dans le forum Langage SQL
    Réponses: 2
    Dernier message: 05/04/2007, 13h53
  5. Réponses: 2
    Dernier message: 15/05/2006, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo