这是我的尝试:
SELECT AVG (ws_spiel_berechnung.note) as Test
FROM ws_spiel_berechnung
LEFT JOIN ws_spieler
ON ws_spiel_berechnung.spieler_id = ws_spieler.id
INNER JOIN ws_spiel ON ws_spiel.id = ws_spiel_berechnung.spiel_id
where ws_spiel.spieltyp = 'Ligaspiel' and ws_spieler.id = 6875;
update ws_spieler set note_anpassung = Test where id = 6875
我想将AVG(ws_spiel_berechnung.note)
带到ws_spieler.note_anpassung
。例如,SELECT AVG
的结果为2,46。现在2,46应更新为note_anpassung
。但这不起作用(我认为是因为"测试")。
另一个问题:id只是一个例子。我想为每个id(它从id 1开始,在id 1000处结束)。目标是我在"ws_spieler.note_anpassung"
的每个ID都有AVG注释。
我使用谷歌和本网站,但我不明白。如果你能帮助我,我会很高兴的。抱歉我的英语;)
答案 0 :(得分:0)
在这种情况下,我认为你可以用相关的子查询做你想做的事情:
update ws_spieler s
set s.note_anpassung = (select avg(sp.note)
from ws_spiel_berechnung sp
where sp. spieler_id = s.id
)
where s.spieltyp = 'Ligaspiel' and s.id = 6875;