Calcule moyenne general etudiant

Résolu
salam
je cherche de afficher un relevé de note étudiant avec moyenne général par coefficient mais je n'arrive pas a la calculé car quand je fait une requette d'afficher Etudiant et formation et note et coefficient il s'affiche qu'un etudiant avoir plus de formation et ça me donne un module a plusieurs coefficient.
voici mes relations entre tables.

7 réponses

  1. ça marche
    merci pour la solution.
    1
    1. donc tu ne veux pas la moyenne par module.

      Si tu fais :
      SELECT etudiant.nometud, Sum([note]*[coefficient])/Sum([coefficient]) AS moyenneponderee
      FROM (([module] INNER JOIN ModuleFormation ON module.nummodule = ModuleFormation.nummodule) INNER JOIN (etudiant INNER JOIN notes ON etudiant.numetud = notes.numetudiant) ON module.nummodule = notes.nummodule) INNER JOIN formation ON (etudiant.codeformation = formation.codeformation) AND (ModuleFormation.codeformation = formation.codeformation)
      GROUP BY etudiant.nometud;
      
      


      Après, sans données, difficile de tester, le mieux comme je te l'ai demandé, c'est de mettre à dispo ta base avec les données.
      1
      1. cette requette ça marche avec la moyenne de chaque note mais moi je cherche la moyenne general , ça veut dire calcul de tout les notes au coefficient en resultat de moyenne general.
        et merci pour votre attention.
        0
        1. Faudrait que tu mette à disposition ta base via https://www.cjoint.com/

          Pour avoir un jeu d'enregistrements afin de tester.

          Essaie ceci pour voir si la moyenne correspond aux notes et coef que tu as saisis :
          SELECT etudiant.nometud, formation.intitule, module.intitule, Sum([note]*[coefficient])/Sum([coefficient]) AS moyenneponderee
          FROM (([module] INNER JOIN ModuleFormation ON module.nummodule = ModuleFormation.nummodule) INNER JOIN (etudiant INNER JOIN notes ON etudiant.numetud = notes.numetudiant) ON module.nummodule = notes.nummodule) INNER JOIN formation ON (etudiant.codeformation = formation.codeformation) AND (ModuleFormation.codeformation = formation.codeformation)
          GROUP BY etudiant.nometud, formation.intitule, module.intitule;
          
          


          Sur ce je vais au dodo, je verrai demain apm où tu en es.

          A+
          0
          1. Tiens, tu as mis la question résolue ??

            A+
            0
        2. Re,

          tu veux la moyenne totale ou la moyenne par module ?

          A+
          0
          1. desolé, tellement j'ai écrit rapidement , j'ai pas fait des arrets de phrases
            donc j'ai une base de donnée access de 5 tables
            - Etudiant(NumEtud,Nom,Prenom,dateNaiss,codeFormation)
            -Formation(CodeFormation,intitulé,durée)
            -Module(NumModule,intitulé)
            -ModuleFormation(CodeFormation,NumModule,coefficient)
            -Notes(NumEtud,NumModule,Note)
            je veut calculer moyenne des notes avec coefficient.
            0
            1. Bonjour,

              il manque l'image de tes relations.

              Aussi, difficile de comprendre, tu n'as pas de "," et de "." sur ton clavier ??

              A+
              0