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 :

Soustraction de SUM


Sujet :

Langage SQL

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Soustraction de SUM
    Bonjour à tous.
    J'ai la requête suivante qui fonctionne bien.
    Maintenant, je souhaiterais faire une soustraction des deux sum, mais en mettant un - directe entre les 2 SUM, sql n'aime pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT  DSI_STOGRP_STOGRP 
        ,   SUM(DSI_STOGRP_USED_CAPACITY) as USED, SUM(DSI_STOGRP_TOT_CAPACITY) as TOT
    FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE '%DB2%' 
    GROUP BY DSI_STOGRP_STOGRP
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 084
    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 084
    Points : 30 841
    Points
    30 841
    Par défaut
    Citation Envoyé par sam01 Voir le message
    sql n'aime pas
    Qu'est-ce que SQL n'aime pas ?
    Comment l'exprime-t-il ?
    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.

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Salut al1_24,

    avec la requête suivante, j'ai ce message :

    Error: ERROR: 50 : More than one tuple returned by a subselect used as an expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT  DSI_STOGRP_STOGRP 
        ,   SUM(DSI_STOGRP_TOT_CAPACITY) - (SELECT SUM(DSI_STOGRP_USED_CAPACITY)
        FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE '%DB2%' 
    GROUP BY DSI_STOGRP_STOGRP)
    FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE '%DB2%' 
    GROUP BY DSI_STOGRP_STOGRP
    mais quand je mets une valeur entière après le like, ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SELECT  DSI_STOGRP_STOGRP 
        ,   SUM(DSI_STOGRP_TOT_CAPACITY) - (SELECT SUM(DSI_STOGRP_USED_CAPACITY)
        FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE 'SGDB2UR' 
    GROUP BY DSI_STOGRP_STOGRP)
    FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE 'SGDB2UR' 
    GROUP BY DSI_STOGRP_STOGRP

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 084
    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 084
    Points : 30 841
    Points
    30 841
    Par défaut
    Le message d'erreur me semble clair : la sous-requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (SELECT SUM(DSI_STOGRP_USED_CAPACITY)
        FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE '%DB2%' 
    GROUP BY DSI_STOGRP_STOGRP)
    retourne plus d'une ligne et ne peut de ce fait être intégrée comme une valeur unique dans le calcul de l'expression.

    Cette requête ne suffirait-elle pas à répondre à ton besoin ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  DSI_STOGRP_STOGRP 
        ,   SUM(DSI_STOGRP_TOT_CAPACITY) - SUM(DSI_STOGRP_USED_CAPACITY)
    FROM    TF_DSI_STOGRP
    WHERE   DSI_STOGRP_DEXTRACT = '2021-04-22' 
        AND DSI_STOGRP_STOGRP LIKE '%DB2%' 
    GROUP BY DSI_STOGRP_STOGRP
    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
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Ben si en fait. Ta requête fonctionne.
    Bizarre, c'est pourtant bien cette requête que j'avais tenté au début, mais je ne sais plus quel message d'erreur j'ai eu.
    Le principal c'est que maintenant, ça fonctionne.

    Merci al1_24.

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

Discussions similaires

  1. Soustraction d'ensembles
    Par Guizz dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 05/05/2006, 12h37
  2. Soustraction de table
    Par Shea13 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/02/2004, 12h37
  3. Fonction 'SUM'
    Par X-Deus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/06/2003, 08h22
  4. sum(XPATH) retourne NaN
    Par TOM-Z dans le forum XMLRAD
    Réponses: 4
    Dernier message: 19/03/2003, 13h48
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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