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 calcul d'une somme dans une table d'après une autre table [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 119
    Points : 54
    Points
    54
    Par défaut Requête calcul d'une somme dans une table d'après une autre table
    Bonjour,

    Dans une table, j'ai un suivi financier que j'actualise à chaque nouvelle commande.

    Dans une autre table je fais un suivi annuelle de mes dépenses par fournisseur.

    J'aimerai donc faire ma requête (de mise à jour ?) pour 2014.

    J'ai essayé ça, mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE Suivi_prestations INNER JOIN Depenses_annuelles ON Suivi_prestations.Prestataire = Depenses_annuelles.Prestataire SET Depenses_annuelles.Dépenses_2014 = Sum (Suivi_prestations.Montant_recept) 
    Where Suivi_prestations.Prestataire = Depenses_annuelles.Prestataire
    Group By Suivi_prestations.Prestataire ;
    Je voudrais aussi mettre un critère de temps :

    >1/01/2014 And <31/12/2014 ?

    Merci pour vos réponses

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Théoriquement, ce genre de données calculées n'ont pas à être stockées dans une table mais simplement calculées à la volée dans une requête SELECT

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 927
    Points : 58 513
    Points
    58 513
    Billets dans le blog
    46
    Par défaut
    Bonsoir,

    sinon avec un DSum :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE Depenses_annuelles
    SET [Dépenses_2014] = DSum("[Montant_recept]", "[Suivi_prestations]", "prestataire=" & prestataire)
    bof, bof...

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 119
    Points : 54
    Points
    54
    Par défaut
    Merci piour vos réponses

    Bon admettons que je parte d'une requête "à la volée" alors (faisons les choses bien), j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Suivi_prestations.Prestataire, Sum(Suivi_prestations.Montant_recept) AS Dépenses_2014
    FROM Suivi_prestations
    GROUP BY Suivi_prestations.Prestataire, Suivi_prestations.Date_recept
    HAVING (((Suivi_prestations.Date_recept) Between #1/1/2014# And #12/31/2014#));
    sauf que si je veux faire la même chose avec 2015, 2016 et 2017 dans la même requête, je n'y arrive pas

    Pouvez-vous m'aider svp ?

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 927
    Points : 58 513
    Points
    58 513
    Billets dans le blog
    46
    Par défaut
    Ce que tu veux, c'est le montant total par prestataire et par an, non ?

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  
       year(Date_recept) as AnneeDepense,
       Prestataire,
       Sum(Montant_recept) AS TotalDepense
    FROM Suivi_prestations
    GROUP BY year(Date_recept), Prestataire

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 119
    Points : 54
    Points
    54
    Par défaut
    Ah merci !! (désolée pour le retard).

    Je peux avoir mes années en colonnes ou ça devient compliqué ?

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 927
    Points : 58 513
    Points
    58 513
    Billets dans le blog
    46
    Par défaut
    salut,

    tu bascules en requête Analyse Croisée.

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 119
    Points : 54
    Points
    54
    Par défaut
    F-leb comme tu gères ! Merci pour l'astuce, je connaissais pas !

    C'est trop bien, exactement ce que je voulais

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

Discussions similaires

  1. Calcul d'une somme dans une table
    Par bsangoku dans le forum Access
    Réponses: 12
    Dernier message: 24/01/2013, 23h05
  2. [TPW] Ajout d'une ligne dans un fichier texte après une position saisie
    Par Invité dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 19/12/2010, 12h27
  3. [VB.NET]Calculer une somme dans un DataGridView
    Par pat59 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 09/11/2006, 15h36
  4. Réponses: 2
    Dernier message: 27/06/2006, 21h16
  5. Calcul d'une somme dans Excel ??
    Par LaVaZza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/06/2006, 23h55

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