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

Langage SQL Discussion :

remplir une colonne à partir d'une autre table


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut remplir une colonne à partir d'une autre table
    salut
    j'ai deux tables en sql

    table controle:
    -Idetud
    -Idmatiere
    -note
    -numcontrole
    table evaluation
    Idetud
    Id matiere
    moyenneMat
    je voudrais donc inserer la moyenne des notes de la table controle dans la table evaluation à l'aide d'un trigger qui s'applique sur la colonne MoyenneMat

    pourriez vous m'aidez
    je commence tout d'abord par la requete suivant ; mais elle ne s'execute pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into  evaluation (moyenneMat)
    select avg(note) from controle
    where evaluation.idetud=controle.idetud

  2. #2
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonjour,

    Déjà tu peux utiliser une jointure entre tes deux tables


    Sorti d'un article de SQLpro ici

    http://sql.developpez.com/sqlserver/transactsql/#L5



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    CREATE TRIGGER <nom_trigger>
    ON <table_ou_vue>
       FOR | AFTER | INSTEAD
       OF  [ INSERT ] [ , ] [ UPDATE ] [ , ] [DELETE]
    AS
    <code>
    Et sur quel SGBD es-tu ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    il s'agit d'un SQL server version 7.0

  4. #4
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Désolé

    As-tu essayé le CREATE et ta requête. Si tu veux un Triggers, crée le...

  5. #5
    Membre confirmé Avatar de elbj
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2004
    Messages : 371
    Points : 558
    Points
    558
    Par défaut
    Bonjour

    Pour ma part je trouve que c'est redondant d'enregistrer dans la base de données les notes et leur moyenne. Tu devrais faire une VUE pour afficher les moyennes.

    Cordialement

  6. #6
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Quel est l'intérêt réel de garder une valeur aisément calculable et constamment variable ?
    Calculez la quand vous en avez besoin.

    Passer par un trigger en plus risque de plomber vos performances.
    Vous systématisez un calcul qui ne vous sera pas systématiquement utile fonctionnellement...
    Vous devrez aussi gérer les triggers d'update et de delete...
    Bref que des désavantages.

    Bon courage

  7. #7
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    OK, merci bcp pour vos remarques.
    a plus

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/08/2013, 16h44
  2. Remplir une colonne à partir d'une autre colonne
    Par Anibel dans le forum Requêtes
    Réponses: 1
    Dernier message: 01/04/2013, 22h03
  3. Mettre à jour une colonne à partir d'une autre
    Par Peanut dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/06/2011, 18h19
  4. Réponses: 19
    Dernier message: 14/05/2011, 03h13
  5. Réponses: 2
    Dernier message: 31/01/2008, 17h58

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