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 :

sum() dans une jointure interne


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut sum() dans une jointure interne
    Bonjour,

    Je développe un site en php avec Wamp5 :
    - MySQL 5.0.41-community-nt.

    J'ai deux tables :
    1°/ factures
    - id_factures
    - id_paiement
    - ...

    2°/ flux_financier
    - id_factures
    - montant
    - ...

    Les cardinalités sont les suivantes :

    FACTURES 1; n <---------------> 0; 1 FLUX_FINANCIER

    Ce que je cherche à faire, c'est créer un tableau qui regroupe l'id_paiement de la table factures et la somme de tous les paiements dans la table flux_financier.

    En faisant une simple requête sans la somme, ça fonctionne bien. Sauf que je ne reçois que le premier flux_financier qui est relié à la table factures ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $liste_factures = mysql_query("SELECT FA.id_paiement, FF.montant
    				FROM factures FA
    				INNER JOIN flux_financier FF
    				ON FA.id_factures = FF.id_factures ");
    Et en rajoutant la somme ça ne fonctionne plus ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $liste_factures = mysql_query("SELECT FA.id_paiement, sum(FF.montant) AS montant
    				FROM factures FA
    				INNER JOIN flux_financier FF
    				ON FA.id_factures = FF.id_factures ");
    Alors qu'en faisant de la sorte, j'arrive très bien à additionner les montants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_factures = mysql_query("SELECT sum(FF.montant) AS montant FROM flux_financier FF ");
    En résumé ce que je cherche à avoir en joignant ces deux tables c'est créer une nouvelle table à deux colonnes :
    - id_paiement (table factures),
    - somme des montants des flux_financiers (table flux_financier).


    D'avance merci pour vos réponses.



    xenos

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    pour les fonctions d'agrégation il te faut un group by


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT FA.id_paiement, sum(FF.montant) AS montant
    FROM factures FA
    INNER JOIN flux_financier FF
    ON FA.id_factures = FF.id_factures
    group by FA.id_paiement,

  3. #3
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci pour ta réponse Mathusalem !

    Ca fonctionne parfaitement !

    Bon développement à tous.



    xenos

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

Discussions similaires

  1. utiliser le resultat d'un SUM dans une variable
    Par Qapoka dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/05/2006, 15h47
  2. COUNT dans une jointure
    Par picsoun dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/04/2006, 20h27
  3. Ordre d'exécution dans une jointure externe
    Par Pero dans le forum Langage SQL
    Réponses: 17
    Dernier message: 20/09/2005, 12h22
  4. [Thread] Erreur dans une classe interne
    Par totof2308 dans le forum Général Java
    Réponses: 5
    Dernier message: 03/06/2004, 08h15
  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