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 :

Requête SELECT CASE possible ?


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut Requête SELECT CASE possible ?
    Salut,

    Voilà je voudrais savoir si la requête suivante est faisable ? Je travaille sous DB2.

    J'ai 2 tables TABLE1(ID, NOM) et TABLE2(ID,NUM_INTERMED,NBR1) et je souhaite afficher les données sous cette forme :

    Sachant que je dois faire une jointure sur ID et que je souhaite que :
    1. Si NUM_INTERMED = '88888888' alors NBR1 soit divisé par 100 et donc j'affiche : NBR1/100
    2. Si NUM_INTERMED = '99999999' j'affiche : NBR1

    Est-ce faisable ?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Bon j'ai fait une partie sans la jointure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT ID,
    CASE WHEN NUM_INTERMED='99999999' then NBR1
    WHEN NUM_INTERMED='88888888' then NBR1/100 END AS T
    FROM TABLE2;
    Dans ma table TABLE2 j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ID NUM_INTERMED NBR1
    1  88888888         100
    1  99999999          50
    Cela donne donc après exécution de la requête :
    Dans ma table TABLE1, j'ai une seule ligne pour mes tests :
    Donc au final, ce que je veux c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1  TEST 51 (50+1, somme des lignes de ma requête SELECT CASE)
    Est-ce jouable en requête ?

  3. #3
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 736
    Points
    1 736
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.ID,T1.NOM,
    CASE WHEN T2.NUM_INTERMED='88888888' then T2.NBR1/100 ELSE T2.NBR1 END
    FROM TABLE1 T1,TABLE2 T2
    WHERE T1.ID = T2.ID;

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

Discussions similaires

  1. Requête SELECT Multibase possible ?
    Par asenaici dans le forum Connexion aux bases de données
    Réponses: 5
    Dernier message: 07/04/2009, 08h41
  2. Réponses: 5
    Dernier message: 24/10/2008, 09h20
  3. Case à Cocher avec Requête SELECT DISTINCT
    Par Polo_973 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 03/04/2006, 17h35
  4. Select case est-il possible dans ce cas ?
    Par rangernoir dans le forum Access
    Réponses: 10
    Dernier message: 30/09/2005, 16h06
  5. C'est possible dans une requête SELECT ?
    Par Kokito dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/04/2005, 16h59

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