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

Développement SQL Server Discussion :

Somme d'une somme [2012]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 89
    Par défaut Somme d'une somme
    Bonjour,

    Je voudrai faire la somme d'un champ calculé dans une requête mais je ne sais absolument pas comment la rédiger...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Select F_ECRITUREC.CG_Num, month(jm_date) as [Mois],
    SUM(case when ec_sens = 0 then ec_montant*-1
    	 when EC_Sens = 1 then EC_Montant
    end) as total
    from F_ECRITUREC
    INNER JOIN F_COMPTEG ON F_ECRITUREC.CG_Num = F_COMPTEG.CG_Num
    where (JO_Num = 'BQ1' or Jo_num = 'BPO' or JO_Num = 'CMB')
    and YEAR(jm_date) = 2018
    group by  F_ECRITUREC.CG_Num, Month(Jm_date)
    Cette requête me donne pour chaque compte et pour chaque mois, le total des opérations réalisées... Comment puis je avoir la somme pour chaque mois s'il vous plait ?

    Merci

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 021
    Billets dans le blog
    6
    Par défaut
    EN utilisant une fonction de fenetrage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Select E.CG_Num, month(jm_date) as [Mois],
           SUM(case when ec_sens = 0 then ec_montant*-1
    	             when EC_Sens = 1 then EC_Montant
               end) as total,
           SUM(SUM(case when ec_sens = 0 then ec_montant*-1
    	             when EC_Sens = 1 then EC_Montant
               end)) OVER() as total_general
    from   F_ECRITUREC AS E
           INNER JOIN F_COMPTEG ON F_ECRITUREC.CG_Num = F_COMPTEG.CG_Num
    where  (JO_Num = 'BQ1' or Jo_num = 'BPO' or JO_Num = 'CMB')
      and  YEAR(jm_date) = 2018
    group  by E.CG_Num, Month(Jm_date)
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 89
    Par défaut
    Merci de ta réponse et de ta rapidité mais ça ne fonctionne pas, il me met le total_general à 0...

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Votre demande n'est pas suffisamment précise,

    voulez vous le total par mois quel que soit le compte ? dans ce cas, il suffit de retirer, dans la requete que vous avez postée, le numéro de compte (du SELECT et du GROUP BY).

    Sinon, postez une exemple du résultat attendu

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 89
    Par défaut
    C'est exactement ce que je veux, par contre ça me met un total à 0 quand j’enlève le numero du code du select et du group by, comme si ça ne calculait pas

  6. #6
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    il est probable que, sur l'ensemble des comptes, le bilan soit neutre, ce qui expliquerai les 0...

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

Discussions similaires

  1. [CR X]Effectuer une somme d'une somme
    Par Chuppas dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 06/08/2008, 11h52
  2. Réponses: 16
    Dernier message: 04/09/2006, 11h27
  3. Réponses: 2
    Dernier message: 27/06/2006, 21h16
  4. [Excel]Faire une somme avec une macro
    Par Chlo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/01/2006, 20h53
  5. [CR 8.5] Calculer la somme d'une somme
    Par Frederic Vincent dans le forum Formules
    Réponses: 4
    Dernier message: 12/02/2004, 18h53

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