Requete Update avec Select imbriqué: etrange resultat!
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:
Code:
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
) |
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!!!
Je ne comprends donc pas...Merco de votre aide!
A bientot!
Corentone
EDIT: je suis sous mysql....:)