Mes jointures ne marchent pas

Fermé
Ibnomar - Modifié le 21 déc. 2019 à 14:43
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 22 déc. 2019 à 12:32
Bonjour,
J’essaie de programmer dés bulletins d’élèves. Donc j’ai une table Liste avec les noms des élèves, une table de bulletin avec les matière comme :

Id_liste id_coef Science Math
11 15
Remarque:problème d’affichage : 11 et 15 sont pour science et math
et une table coefficient avec les coefficients des dés matières comme :
Id Science Math
5 6
Remarque:problème d’affichage : 5 et 6 sont pour science et math
J’aimerais que lorsqu’on met la moyenne , quelle soit automatiquement multipliée par son coefficient. Donc j’ai fait la jointure suivante :
<?php $bdd-> query (‘Select b.science as science,b.math as math,c.science as coef_science, c.math as coef_math from bulletin as b right join coefficients as c On b.id_coef=c.id; UPDATE bulletin SET math=IFNULL(math,0)*coef_math, science=IFNULL(science,0)*coef_science’); ?>

Aucun erreur ne s’affiche mais rien ne se passe , est ce que j’ai raté quelque choses ?

2 réponses

jee pee Messages postés 40560 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 décembre 2024 9 459
Modifié le 21 déc. 2019 à 14:51
Bonjour,

SELECT et UPDATE en une seule fois ?????????

si tu as 3 tables, il faut que les trois soient dans le select avec 2 jointures.

Donne la description exacte des trois tables

0
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 Ambassadeur 1 556
22 déc. 2019 à 12:32
bonjour, je pense que la structure des tables n'est pas adéquate, et je suggère de repartir de l'énoncé de l'exercice pour refaire le modèle de données.
SI tu veux garder ton modèle de donner, je suggère,, au lieu de modifier les données dans la table bulletin, de renommer cette table "resultats", et de réaliser les calculs via une requête qui, elle, servira de base aux bulletins.
0