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

Développement SQL Server Discussion :

Comment calculer la moyenne d'un trimestre


Sujet :

Développement SQL Server

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Comment calculer la moyenne d'un trimestre
    J'ai un problème avec cette procédure stockée, je ne peux pas faire la moyenne d’élève et afficher
    la table à obtenir (num_elv,num_trimetre,num_matiere,anne_scolr,cod_class,dev1,dev2,not_eva,not_contu,compo,cofsion_matie)
    la moyenne est calculée comme ça ((((dev1+dev2)/2+(not_eva+not_contu)+(compo*2))/5)*(cofsion_matie)) /sum(cofsion_matie)
    mais si il y avait une seul devoir la moyenne se calcule comme ça ((((dev1+not_eva+not_contu)+(compo*2))/5)*(cofsion_matie)) /sum(cofsion_matie)

    ma procédure

    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    create procedure [dbo].[moy_trim](@num_elv nvarchar(20),@num_trim int,@anne varchar(10)) 
    as
    select eleve.num_elv,eleve.nom_elv,eleve.PRNM_ELV, 
    case when devoir_2 is not null then(sum((((DEVOIR_1 + DEVOIR_2)/2+( NOTE_EVAL +NOTE_CONTRL_CONTNU)+( COMPOSITION*2))/5)*(COFSN_MATIE)))/sum(cofsn_matie)
    else (sum((((DEVOIR_1 + NOTE_EVAL +NOTE_CONTRL_CONTNU)+( COMPOSITION*2))/5)*(cofsn_matie)))/sum(cofsn_matie)
    end as Moyenne_de_trimestre
    from eleve,obtenir
    where(eleve.num_elv = obtenir.num_elv)and
     (obtenir.num_elv = @num_elv)and
    (num_trim=@num_trim)and
    (anne_scolr =@anne)
     group by devoir_2,eleve.num_elv,eleve.nom_elv,eleve.PRNM_ELV

  2. #2
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    Quel message d'erreur avez vous?
    Difficile de vous aider sans le détail des table utilisées mais essayons...(je pense également qu'il manque une table dans votre requête: celle des coefficients)

    Je pense que vous devez simplement faire le case à l'intérieur du SUM.
    Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
    MCTS Database Development
    MCTS Database Administration

Discussions similaires

  1. [2005] Comment calculer la moyenne d'un trimestre
    Par youssouf18 dans le forum Développement
    Réponses: 1
    Dernier message: 10/10/2017, 10h24
  2. [MySQL] Comment calculer la moyenne d'une variable récupére d'un champ mysql
    Par christophe_s46 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/01/2010, 18h20
  3. [XL-2003] Comment calculer la moyenne effective ?
    Par xeak2008 dans le forum Excel
    Réponses: 11
    Dernier message: 17/11/2009, 16h25
  4. Réponses: 14
    Dernier message: 06/05/2008, 15h16
  5. Comment calculer des moyennes sur des nombres positifs
    Par robertetgorgette dans le forum Access
    Réponses: 2
    Dernier message: 20/07/2006, 14h05

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