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 MySQL Discussion :

Question programmation BDD


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut Question programmation BDD
    Bonjour à tous,

    voila j'ai réalisé une base de donnée et maintenant je dois réaliser quelques requêtes cependant j'éprouve quelques difficultés.
    c'est une base de donnée qui permet de gérer les cotes des élèves d'une haute école. dans notre école, chaque cours est repris sous un module avec une certaine pondération. j'ai pu créer créer la requête permettant de calculer la moyenne pour chacun des modules.
    Maintenant, je dois réaliser une requête permettant de calculer la moyenne de cette élève. Cependant quand j'effectue ma requête je ne tombe pas sur la bonne solution.
    Quelqu'un aurait la gentillesse de m'aider svp ?

    je peux mettre a disposition mes fichier my sql afin que d'y voir plus clair peut être.

    D'avance je vous remercie !!

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    pour pouvoir vous aidez il faudrait que vosu présentiez les tables.


    Sinon regardez du coté de la clause GROUP BY et des fonctions associées (SUM, AVG, ...)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 2
    Par défaut base de donnée
    Ma base de donnée est composée de plusieurs tables :
    - Student (Sid , plusieurs autres caractéristiques qui ne rentrent pas en compte dans le calcul de la moyenne)
    - Resul (ModId, UndModId, TeachID, point1sess)
    - Module (ModName, ModId, ModCredit )
    - UnderModule (ModId, UndModId, UndmodPond, TeachId)
    - Program (prgmId, autres caractéristiques)
    - Teaching (pas utilisée pour le calcul)
    - Teachers (pas utilisée pour le calcul)
    - BeComposed (ModId, PrgmId)
    voila après j'ai décidé de calculer la moyenne pour chacun des modules grâce à la requête suivante :

    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
    Select 
        c.ModId, 
        m.ModName,
        m.ModCredit,
        ROUND(Sum(s.UndModPoint * r.Point1sess),0) Note
    from
        Module m
            inner join
        UnderModule s ON m.ModId = s.ModId
            inner join
        Result r ON s.UndModId = r.UndModId
            inner join 
        BeComposed c on m.ModId=c.ModId 
            inner join 
    student t on r.Sid = t.sid
    where 
        (t.SId = '1' and c.PrgmId = '000001')
    group by m.ModId;
    ce qui me rend les bonnes valeurs.

    Après quand je calcule la moyenne grâce à cette requête, j'obtiens une moyenne totalement erronée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    select
    (sum(s.UndModPoint*r.Point1sess)*m.ModCredit)/(sum(m.ModCredit))*100
    from
        module m
            inner join
        UnderModule s ON m.ModId = s.ModId
            inner join
        result r ON s.UndModId = r.UndModId
            inner join 
        Becomposed c on m.ModId=c.ModId
            inner join 
        Student e on r.Sid=e.Sid
    where
        (e.SId = '1' and c.PrgmId = '000001')
    j'obtiens pas une moyenne de 50% lorsque que je mets tout mes points à 10/20.

    si vous avez encore des questions sur ma base de donnée, je suis prêts à y répondre.

    Un grand merci pour votre aide

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/02/2009, 14h49
  2. Question: programmation système en C
    Par amazigh_man dans le forum Linux
    Réponses: 2
    Dernier message: 15/08/2008, 15h15
  3. [Débutant] Programme BDD tout fait. Ca existe?
    Par idamarco dans le forum Débuter
    Réponses: 3
    Dernier message: 03/10/2007, 10h04
  4. Réponses: 4
    Dernier message: 18/09/2007, 22h02
  5. Questions programmation système
    Par SteelBox dans le forum Linux
    Réponses: 9
    Dernier message: 15/02/2005, 01h04

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