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

DB2 Discussion :

Requête de calcul de solde avec une table sous DB2


Sujet :

DB2

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut Requête de calcul de solde avec une table sous DB2
    Bonjour à tous,

    Je travaille sur une table DB2 et je dois calculer un solde pour un numéro de relevé donné (NUREL) en faisant la somme des montants débits de ce relevé - la somme des montants crédits de ce relevés.

    Nom : Table.jpg
Affichages : 680
Taille : 28,0 Ko

    Je dois faire un truc du genre (sum(MTOPE) where COSEN="D" and NUREL=9) - (sum(MTOPE) where COSEN="C" and NUREL=9) mais je n'y arrive pas dans la même requête.

    Pouvez vous me venir en aide svp?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Un exemple de solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    WITH TMP AS                   
        (SELECT CASE              
             WHEN COSEN= 'D'    
             THEN MTOPE          
             ELSE MTOPE * -1     
             END AS MONTANT       
         FROM MATABLE
         WHERE  NUREL = :HV-NUMERO
        )                         
    SELECT SUM(MONTANT) FROM TMP  
     ;
    Une autre possibilité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT SUB1.MTC + SUB2.MTD              
    FROM                                    
       (SELECT SUM(MTOPE) AS MTC           
        FROM   MATABLE
        WHERE  NUREL = :HV-NUMERO
          AND  COSEN='C') AS SUB1,         
       (SELECT SUM(MTOPE) * -1 AS MTD      
        FROM   MATABLE                   
        WHERE  NUREL = :HV-NUMERO
          AND  COSEN='D') AS SUB2          
     ;

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 103
    Points : 46
    Points
    46
    Par défaut
    Merci ça marche super bien

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/09/2014, 16h04
  2. Optimisation requête avec une table Memory
    Par ahmed. dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2012, 15h49
  3. [AC-2007] Ouvrir la création de requête avec une table sélectionnée
    Par zoom61 dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/03/2010, 14h30
  4. TDBChart et liaison logicielle avec une table ?
    Par Mailgifson dans le forum C++Builder
    Réponses: 10
    Dernier message: 27/07/2004, 14h11
  5. Probleme avec une table vide
    Par king dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/03/2004, 14h24

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