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 et SQL. Discussion :

Requête Somme des factures !


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut Requête Somme des factures !
    Salut tout le monde.
    J'ai un problème, qui ne me semble pas dur à résoudre, mais je suis coincé

    J'ai une liste de Clients avec plusieurs infos : NumClient, Nom, Prénoms, Profession, Montant Dû et j'ai aussi une liste de factures comprenant le numéro du client et le montant de la facture.
    J'aimerais avoir la somme des factures pour chaque client, ainsi que toutes les informations relatives au client :

    NumClient NomClient PrenomClient TotalDesFactures MontantDû
    ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

    J'ai pensé à tout regrouper dans une requête en utilisant Somme, mais je ne sais pas comment faire.

    Prenons un exemple pour mes données, pour que ce soit plus clair :

    noClient MontantFacture
    416546 150$
    416546 325$
    413513 800$
    ... ... ... ...

    noClient NomClient PrenomClient MontantDu
    416546 Pantagruel Simon-Pierre 4654654 $
    413513 Moutonnet Jean-Philippe 654$
    ... ... ... ... ... ... ... ... ... ... ... ... ... ...

    Je voudrais que mon résultat final dans le formulaire soit :

    noClient NomClient PrenomClient TotalFacture MontantDu
    416546 Pantagruel Simon-Pierre 475 $ 4654654$
    413513 Moutonnet Jean-Philippe 800$ 654$
    ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

    Voilà. Si vous avez une idée, je suis preneur...parce que je suis vraiment concé, et le reste de mon projet en dépends !!!


  2. #2
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Il suffit de mettre Sum() sur le montant des factures et de mettre tout le reste en Order By, comme ca il regroupera donc par client donc par noClient. C'est mieux si tu mets une relation entre les 2 tables (de Client vers Facture) entre les champs noClient (relation 1 a l'infini car je suppose que c'est noClient qui est la cle de la table Client)

    Le LEFT JOIN est pour mettre aussi les clients qui n'ont pas de factures qui correspondent, sinon avec un INNER JOIN il n'aurait mis que les clients qui ont une facture au moins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Client.NoClient, Client.NomClient, Client.PrenomClient, Client.MontantDu, Sum(Facture.MontantFacture) AS TotalFacture
    FROM Client LEFT JOIN Facture ON Client.NoClient = Facture.noClient
    GROUP BY Client.NoClient, Client.NomClient, Client.PrenomClient, Client.MontantDu;

  3. #3
    Membre régulier Avatar de nicou50
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 131
    Points : 80
    Points
    80
    Par défaut Merci!!
    Ça fonctionne!!! Merci énormément catoucat!
    Je ne savais vraiment pas comment faire une requête somme. Je me coucherais moins bête ce soir.

  4. #4
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    273
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 273
    Points : 258
    Points
    258
    Par défaut
    Hehe le seul truc a ne pas oublier quand on fait une somme c'est de mettre tous les autres champs en Order By sinon il ne saura pas comment regrouper! Si tu fais la requete avec l'outil visuel d'Access il suffit de cliquer droit sur une colonne puis cliquer sur le symbole somme (grand E bizarre) et il remplira tous les champs avec Order By, il ne reste plus qu'a mettre celui que tu veux en Sum au lieu de Order By

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2014, 11h07
  2. Requête: Liste des Factures impayées
    Par mameziane dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 01/11/2011, 11h55
  3. Regroupement et somme des résultats d'une requête union
    Par Tipstitou dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 04/03/2009, 05h04
  4. Somme des enregistrements d'une requête
    Par manu971 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/10/2007, 14h35
  5. [Requête] faire la somme des max pour chaque utilisateur
    Par novices dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2007, 11h45

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