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 :

case et group by


Sujet :

Langage SQL

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Points : 241
    Points
    241
    Par défaut case et group by
    Bonjour

    J'ai besoin de faire une SQL avec un case et un sum, plus o moins comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select
        col1, col2, col3,
        case col4
          when 0 then 'est un 0'
          when 1 then 'est un 1'
          when 2 then 'est un 2'
        end,
        sum(col5),
    from
        table
    group by
        1, 2, 3, 4
    Le problème est qu'il ne me laisse faire pas le group by avec la colonne du case et, bien sur, si je ne le met pas dans le group by ne fonctionne pas non plus

    Quelque idée de comme le faire?

    Merci

    (je trabaille avec Firebird)

  2. #2
    Membre actif
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Points : 241
    Points
    241
    Par défaut
    On doit le faire comme ça

    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
    17
    18
     
    select
        col1, col2, col3,
        case col4
          when 0 then 'est un 0'
          when 1 then 'est un 1'
          when 2 then 'est un 2'
        end,
        sum(col5),
    from
        table
    group by
        1, 2, 3, 
        case col4
          when 0 then 'est un 0'
          when 1 then 'est un 1'
          when 2 then 'est un 2'
        end
    C'est a dire, on doit mettre le case dans le group by

    Merci a tous

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Merci de nous fait part de ta solution
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

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

Discussions similaires

  1. Problème SELECT, CASE et Group by
    Par Royd938 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 03/10/2014, 07h41
  2. Problème avec case et group by
    Par queryz dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/07/2010, 16h40
  3. [SQL Server 2000] SELECT avec CASE et GROUP BY
    Par strat0 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/03/2008, 18h45
  4. ajout case option dans groupe option
    Par Pierren dans le forum Access
    Réponses: 2
    Dernier message: 06/10/2006, 19h25
  5. Problème avec les cases d'un groupe d'option.
    Par auriolbeach dans le forum Access
    Réponses: 2
    Dernier message: 01/10/2005, 07h33

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