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 :

Adapter UPDATE pour ajouter une colonne à une table avec nombre de lignes différentes


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Par défaut Adapter UPDATE pour ajouter une colonne à une table avec nombre de lignes différentes
    Bonjour,
    Je débute en SQL.

    Je gère des notes d'étudiants.
    J'ai un fichier qui résume leur notes sur l'année (table synthese_notes) structurée avec ID, Nom, Score1, Score2, Score3.

    Je récupère les notes à chaque contrôle sur une table différente (note_journee1), structurée de la meme facon : ID, Nom, Score (le score unique du contrôle).

    Certains étudiants sont absents des controles et comme les controles sont fait online, la table que je récupère manque de certains noms.

    Je voudrais ecrire une commande pour ajouter à la table synthese_notes la colonne Score de la table note_journee1, en faisant apparaitre comme NULL le score pour les lignes (=noms d'étudiants) absents ce jour là.


    Je pense que je dois associer une exception à la fonction update mais je n'arrive pas à l'écrire.


    Pourriez_vous m'aider?

    Amicalement

    Louis

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    J'ai un fichier qui résume leur notes sur l'année (table synthese_notes) structurée avec ID, Nom, Score1, Score2, Score3.
    Vous voulez dire un fichier de tableur ?

    Je récupère les notes à chaque contrôle sur une table différente (note_journee1), structurée de la meme facon : ID, Nom, Score (le score unique du contrôle).
    Et là vous parlez d'une table de base de données ?

    Si c'est le cas, alors vous avez oublié l'étape modélisation de votre base de données !

    Vous avez donc des étudiants et des contrôles. Voilà les deux entités qu'il faut modéliser.
    Pour faire cela, on commence, quand on débute, par écrire les règles de gestion des données. Par exemple, celle-ci :
    R1 : Un étudiant peut participer un plusieurs contrôles et un contrôle peut voir la participation de plusieurs étudiants.

    De cette règle de gestion, on tire un morceau de Modèle Conceptuel de Données (MCD) :
    Etudiant -0,n----participer----0,n- Controle

    Et de ce MCD, on en déduit qu'il faut créer les tables suivantes :
    te_etudiant_etu (etu_id, etu_nom, etu_prenom...)
    te_controle_ctr (ctr_id, ctr_code, ctr_date...)
    tj_etu_participer_ctr_epc (epc_id_etudiant, epc_id_controle...)

    Ci-dessus, les clés primaires sont soulignées et les clés étrangères sont en italique.

    Ensuite, pour enregistrer les notes obtenues, il suffit d'ajouter une colonne dans la table associative :
    tj_etu_participer_ctr_epc (epc_id_etudiant, epc_id_controle, epc_note...)

    Enfin, pour avoir, par exemple, tous les étudiants et leur note au contrôle n° 5, on fait la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT e.etu_id, e.etu_nom, e.etu_prenom,
    	j.epc_note
    FROM te_etudiant_etu e
    LEFT OUTER JOIN tj_etu_participer_ctr_epc j
    	ON j.epc_id_etudiant = e.etu_id
    	AND j.epc_id_controle = 5
    ORDER BY e.etu_nom
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/09/2017, 18h08
  2. MFC d'une colonne à une colonne et planning perpetuel
    Par mlegentil dans le forum Excel
    Réponses: 0
    Dernier message: 12/04/2014, 17h43
  3. Fusionner plusieurs tables avec nombre de champs différents
    Par poussinvert dans le forum Requêtes
    Réponses: 7
    Dernier message: 31/07/2012, 08h56
  4. Réponses: 1
    Dernier message: 03/03/2008, 14h20
  5. Réponses: 5
    Dernier message: 16/06/2006, 22h39

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