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 :

Requete SQL : comment faire un cumul


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 10
    Points
    10
    Par défaut [Résolu] Requete SQL : comment faire un cumul
    Bjr !

    Voilà je suis bloqué sur une requête a priori toute bete mais pas simple que ça.

    Pour simplifier, j'ai 1 table FACTURE qui comprend 2 champs
    NumFacture : Integer
    Montant : Double

    Je souhaite afficher, pour chaque numéro de facture, le cumul des montants des factures précédentes. Je m'explique :
    Disons que ma table soit :
    NumFacture Montant
    1 15,00
    2 20,00
    3 35,00

    Je souhaite que ma requete retourne :
    NumFacture Cumul
    1 15,00
    2 35,00
    3 70,00

    Voila comment dois-je m'y prendre car ts mes essais se sont pour le moment soldés par des échecs...

    Merci d'avance
    NB : je travaille sur Access 2000

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Cool je viens de trouver uen solution, la voici pour ceux que ca interesserait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT NoFacture as N, Montant, DSum("Montant","[FACTURE]","NoFacture <=" & [N]) AS Cumul
    FROM [FACTURE]
    GROUP BY NoFacture, Montant;
    Voila ^^

  3. #3
    Rédacteur

    Inscrit en
    Septembre 2004
    Messages
    626
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 626
    Points : 848
    Points
    848
    Par défaut
    Bonjour,


    Je sais pas si tu peux faire une requête imbriquée sous Access 2000 :
    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
     
    SQL> select *
      2  from   FACTURE;
     
    NUMFACTURE    MONTANT
    ---------- ----------
             1         15
             2         20
             3         35
     
    SQL> select numfacture, (select sum(montant) from FACTURE b where b.numFacture <= a.numFacture) cumul
    l
      2  from   FACTURE a;
     
    NUMFACTURE      CUMUL
    ---------- ----------
             1         15
             2         35
             3         70
    Sinon tu peux aussi le faire par une jointure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    SQL> select a.numFacture, sum(b.montant)
      2  from   FACTURE a, FACTURE b
      3  where  a.numFacture >= b.numFacture
      4  group by a.numFacture;
     
    NUMFACTURE SUM(B.MONTANT)
    ---------- --------------
             1             15
             2             35
             3             70

    Laly.
    In the heart of the truly greats, perfection is never achieved but endlessly pursued.

    Mon article sur les fonctions analytiques d'Oracle (calcul de moyennes mobiles, de quartiles et bien d'autres...)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Merci bcp pour ta reponse, tes deux methodes fonctionnent aussi (la premiere est a peu pres la meme que la mienne).

    C'est cool, comme ca j'aurais des alternatives.
    Merci ^^

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 10
    Points : 9
    Points
    9
    Par défaut TKS
    Merci vous me sauvez

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

Discussions similaires

  1. comment faire un cumul progressif par mois en sql
    Par cana13 dans le forum Développement
    Réponses: 13
    Dernier message: 03/02/2011, 09h39
  2. [SQLLite] requete SQL comment faire
    Par babaahmed dans le forum Langage SQL
    Réponses: 8
    Dernier message: 02/06/2006, 17h09
  3. [struts requete sql] comment faire un wait
    Par chouchou93 dans le forum Struts 1
    Réponses: 1
    Dernier message: 15/05/2006, 19h04
  4. [SQL] Comment faire ma requête
    Par kaiserazo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/05/2005, 10h39
  5. [SQL] requetes inbriquées, comment faire celle ci??
    Par Devil666 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/05/2005, 15h44

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