Bonjour,
J'ai 3 tables (très grossièrement ) :
Les idprobe de la table probe peuvent être regroupés via les infos de la table autres_infos_probe (elles appartiennent à des groupes consensus d'une autre table).
Je souhaite faire une mise à jour de la table de statistiques stats qui regroupe également les id de probe :
Le problème est que je voudrais effectuer une moyenne en regroupant l'idprobe commun avec les idprobe associés, et en se basant sur valeur qui appartient à la table stats que je dois metter à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE stats SET moyenne = 'mon_calcul' WHERE probe_idprobe IN (SELECT idprobe from probe NATURAL JOIN autres_infos_probe WHERE is_master = 1)
ex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 UPDATE stats SET moyenne = -- calcul moyenne SELECT AVG( -- tentative de sélection de l'idprobe courant -- et jonction avec les idprobe associés -- via idconsensus dans la table des infos SELECT valeur FROM probe NATURAL JOIN autres_infos_probe JOIN stats ON (idprobe = probe_idprobe) WHERE idconsensus = (SELECT idconsensus FROM probe NATURAL JOIN autres_infos_probe WHERE idprobe_courant (je ne sais pas comment le noter) ) -- fin calcul moyenne WHERE probe_idprobe IN (SELECT idprobe from probe NATURAL JOIN autres_infos_probe WHERE is_master = 1)
Ca ne fonctionne pas, je ne sais pas si et comment effctuer une mise à jour de ce type. Je sais en revanche qu'il faudra que je passe par une sous-requête pour lire et écrire sur la table courante.
Merci si vous avez une idée sur ce problème,
C. Tobini
Partager