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] Faire une sommation qui fonctionne?


Sujet :

Requêtes et SQL.

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 116
    Par défaut [Requête] Faire une sommation qui fonctionne?
    Bonjour, j'ai une requête contenant des couts pour chaque personne selon une année... Exemple:
    Nom / Prenom / Année / Cout
    Bob Oula 2006 100
    Bob Oula 2006 200
    Bob Oula 2007 980

    Donc, j'aimerais que mes lignes dont le Nom, Prenom et Année sont identiques se fusionnent afin de donner comme Cout 300 pour l'an 2006 et 980 pour l'an 2007.

    J'ai essayer de mettre mon champ Cout en type Somme... Mais il me donne des chiffres complètements ridicules (14000 oO)

    Si quelqu'un peut m'aider ce serait grandement apprécié

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 584
    Billets dans le blog
    67
    Par défaut
    Salut,

    tu fais en sql un truc du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Nom, Prenom, Annee, Sum([cout]) As total
    FROM TaTable
    GROUP BY Nom, Prenom, Annee

    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 116
    Par défaut
    C'est bien ce que je fais... Mais ça me sort les nombres dont je parle (14200 oO)
    De plus, les lignes de même nom, prénom et années restent présente :\

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 584
    Billets dans le blog
    67
    Par défaut
    Resalut Norin,

    T'es sympa, mais tu m'as deja fais le cout hier avec Les group dans les états

    ton champ Cout est de quel type ?

    Est-ce que ta requête fusionne bien les champs Nom,Prenom,Année



    @+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 116
    Par défaut
    Mon champs cout est de type numérique format monétaire... Pour savoir si mes trois champs sont bien fusionnés, la je ne sais vraiment pas comment le savoir :\

  6. #6
    Membre expérimenté
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Par défaut
    Montre nous la requête que tu as fait.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 116
    Par défaut
    **Attention** La requête a été généré par Access lui-même... Donc...
    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
     
    SELECT reqCoutRencontre.Nom, reqCoutRencontre.Prenom, reqCoutRencontre.Annees, 
    	Sum(reqCoutRencontre.Montant) AS SommeDeMontant1, tblCommissions.Nom_Commission, 
    	tblServices.Nom_Service AS Service1, tblServices_1.Nom_Service AS Service2, 
    	tblServices_2.Nom_Service AS Service3, reqCoutRencontre.DR, reqCoutRencontre.Nom_Service AS Service
    FROM tblServices AS tblServices_2 INNER JOIN ((tblCommissions INNER JOIN (tblServices AS tblServices_1 INNER JOIN 
    	(tblServices INNER JOIN (reqCoutRencontre INNER JOIN tblPersonnes ON 
    	reqCoutRencontre.ID_Personne = tblPersonnes.ID_Personne) ON tblServices.ID_Service = tblPersonnes.Service1_Personne)
    	 ON tblServices_1.ID_Service = tblPersonnes.Service2_Personne) ON 
    	tblCommissions.ID_Commission = tblPersonnes.Commission_Personne) INNER JOIN tblRencPers ON 
    	tblPersonnes.ID_Personne = tblRencPers.ID_Personne) ON tblServices_2.ID_Service = tblPersonnes.Service3_Personne
    GROUP BY reqCoutRencontre.Nom, reqCoutRencontre.Prenom, reqCoutRencontre.Annees, tblCommissions.Nom_Commission, 
    	tblServices.Nom_Service, tblServices_1.Nom_Service, tblServices_2.Nom_Service, reqCoutRencontre.DR, 
    	reqCoutRencontre.Nom_Service
    ORDER BY tblCommissions.Nom_Commission;

  8. #8
    Membre expérimenté
    Inscrit en
    Septembre 2004
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 179
    Par défaut
    Et si tu faisait une requête plus simple au départ juste avec Nom Prenom Année Cout pour voir si cela fonctionne ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2006
    Messages : 116
    Par défaut
    En enlevant les autres tables de ma requête la somme a fonctionné... Je crois simplement qu'une de ces tables fesait se répéter la somme plusieurs fois et donc, donnait des chiffres étranges...

    Bref, le tout semble fonctionner

    Merci pour votre aide ^^

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

Discussions similaires

  1. Comment faire une fonction qui renvoi un tableau.
    Par poly128 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 01h04
  2. Faire une fenêtre qui reste au premier plan
    Par Mandelbrot dans le forum Windows
    Réponses: 6
    Dernier message: 13/03/2006, 19h34
  3. une requete qui fonctionne aux 3/4...
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 22h08
  4. [Requête] Faire une requête imbriquée?
    Par sekiryou dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/01/2004, 22h52
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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