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 :

[EXCEL2003] ORDER BY CASE WHEN


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 38
    Points
    38
    Par défaut [EXCEL2003] ORDER BY CASE WHEN
    voici mon problème
    sous Microsoft query via excel 2003

    j'ai une requête qui appele des fichiers sous le WMS Infolog qui se termine par un tri

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ORDER BY CASE WHEN
    b.etapal='10'
    THEN a.zonsts,a.allsts,mod(digits(a.dplsts),2),a.dplsts
    ELSE
    THEN a.zonsts and a.allsts and a.dplsts
    END
    ce tri ne fonctionne pas

    en revanche si j'écris par exemple (avec un seul critère de tri pour chaque condition) ça fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ORDER BY CASE  WHEN
    b.etapal='10'
    THEN mod(digits(a.dplsts),2)
    ELSE
    THEN a.zonsts
    END
    quelle syntaxe dois je employer pour définir plusieurs critères de tri par condition ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    déjà ceci n'a pas vraiment de sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    THEN a.zonsts AND a.allsts AND a.dplsts
    Ensuite j'ai bien peur que vous ne soyez obligé d'écrire un block case par colonne de tri..

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 38
    Points
    38
    Par défaut erratum
    désolé erreur de frappe

    j'avais bien écris au départ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ORDER BY CASE WHEN
    b.etapal='10'
    THEN a.zonsts,a.allsts,mod(digits(a.dplsts),2),a.dplsts
    ELSE
    THEN a.zonsts,a.allsts,a.dplsts
    END

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Comme cela, il y a plus de chances que ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ORDER BY a.zonsts,a.allsts
     , CASE WHEN b.etapal='10' THEN mod(digits(a.dplsts),2) ELSE 1 END
     , a.dplsts
    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.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 38
    Points
    38
    Par défaut merci
    merci je comprends maintenant

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

Discussions similaires

  1. order by sur un case when HQL
    Par ekremyilmaz dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/01/2011, 11h12
  2. case/when avec plusieurs valeurs pour le then
    Par Neo41 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/09/2005, 15h58
  3. Pb avec case when !
    Par Brice Yao dans le forum Langage SQL
    Réponses: 11
    Dernier message: 05/08/2005, 08h20
  4. Structure CASE WHEN en Interbase
    Par tchaman dans le forum InterBase
    Réponses: 8
    Dernier message: 13/12/2004, 16h18
  5. [SQL] performances Decode ou Case when ?
    Par Yorglaa dans le forum Oracle
    Réponses: 8
    Dernier message: 01/10/2004, 15h50

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