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

Requêtes MySQL Discussion :

Probléme requête avec deux fonction SUM


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut Probléme requête avec deux fonction SUM
    Bonjour à tous ,

    Je voudrais faire la somme de depenses et des engagements par mois .
    C'est à dire une colonne avec TotalDepense par mois et une autre avec Total engagement par mois !
    Puis à la fin j'affiche les objectifs qui sont stochés dans une table .

    Voici ma requete qui m'affiche sans souci les depense par mois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    	MONTH(Mois) AS MoisNum, 
    	MONTHNAME(Mois) AS MoisNom,
    	SUM(Tfos_depenses.val_dev_etat) AS TotalParMois,
    	montant_mois as Objectif_par_mois
    FROM Tfos_depenses
    RIGHT OUTER JOIN objectif ON MONTH(objectif.Mois) = MONTH(Tfos_depenses.Date_comptable)
    GROUP BY MoisNum
    Aprés je voudrais ajouter les engagements avec le même principe de calcul par mois.Mais la requête ci-dessous fausse mes résultat du total de depense par mois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT 
    	MONTH(Mois) AS MoisNum, 
    	MONTHNAME(Mois) AS MoisNom,
    	SUM(Tfos_depenses.val_dev_etat) AS TotalParMois,
    	SUM(Tfos_engagements.val_dev_etat_engagement) AS Total_engagement_par_mois, 
    	montant_mois as Objectif_par_mois
    FROM Tfos_engagements
    RIGHT OUTER JOIN objectif ON MONTHNAME(objectif.Mois) = MONTHNAME(Tfos_engagements.date_chargement)
    LEFT OUTER JOIN Tfos_depenses ON MONTHNAME(objectif.Mois) = MONTHNAME(Tfos_depenses.Date_comptable)
    GROUP BY MoisNum
    Ma question est la suivante comment puis-je associé deux sum() sans fausser la permier?

    merci davance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Il faut calculer les sommes dans des sous-requetes.
    Essayez ceci :
    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
    19
    20
     
    SELECT 
           MONTH(o.mois) AS MoisNum,
           MONTHNAME(o.mois) AS MoisNom,
           dep.total_dep AS Total_depense_par_mois,
           eng.total_eng AS Total_engagement_par_mois
           o.montant_mois AS Objectif_par_mois
    FROM objectif o
    LEFT JOIN
    (
     SELECT MONTH(date_chargement) AS mois, sum(val_dev_etat_engagement) AS total_eng
     FROM Tfos_engagements	   
     GROUP BY MONTH(date_chargement)
    ) eng ON eng.mois = MONTH(o.mois)
    LEFT JOIN
    (
     SELECT MONTH(date_comptable) AS mois, sum(val_dev_etat) AS total_dep
     FROM Tfos_depenses	   
     GROUP BY MONTH(date_comptable)
    ) dep ON dep.mois = MONTH(o.mois)

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Points : 47
    Points
    47
    Par défaut
    Merci la requête marche trés bien !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/09/2014, 17h07
  2. Problème de requêtes avec deux paramètres
    Par Ahlina dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 31/03/2013, 23h21
  3. Problème de requêtes avec deux dates
    Par giraud vias dans le forum Requêtes
    Réponses: 1
    Dernier message: 07/01/2011, 14h01
  4. Problème dans requête avec la fonction Right
    Par Mariboo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/08/2006, 10h27
  5. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02

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