Bonjour à tous!
je vais essayer de faire court...
Voici mes tables et les champs qui nous interessent.
Soiree: id_soiree, id_dj, date_soiree,reussite soirée.->repertorie les soirées.
DJ:id_dj, xp_dj->repertorie les differents djs et leur carac
matos, id_matos, id_dj, id_objet->repertorie tous les matos, individuellements
objet: id_objet, xp_objet->repertorie les caracteristik de chak matos
En fait, je veux ajouter au DJ l'XP: SUM(xp_objet)*3*(reussite_soiree+50)/100
Sachant que le DJ peut avoir jusqu"'a 6objets, d'ou la somme.
par contre, je ne veux updater que les DJs dont l'id_dj est dans la table soiree, et dont la date de la soiree, date_soiree, est egale a un jour precis.
Voici donc ma requete:Etonnament, ma requete ne fait pas l'addition! Pour ceux dont cela ajoute reelement quelque chose cela marche, mais pour ceux dont ca fait +0, ca remplace l'ancienne valeur par zero!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UPDATE dj SET dj.xp_dj=dj.xp_dj+( SELECT IFNULL(SUM(objet.xp_objet*3*(soiree.reussite_soiree+50) )/100 ,0) FROM soiree LEFT JOIN matos ON matos.id_dj=soiree.id_dj LEFT JOIN objet ON objet.id_objet=matos.id_objet WHERE soiree.date_soiree="2007-07-19" AND soiree.id_dj=dj.id_dj GROUP BY dj.id_dj )
Je ne comprends donc pas...Merco de votre aide!
A bientot!
Corentone
EDIT: je suis sous mysql....
Partager