我正在尝试我认为将使用另一个表中的总和对表进行简单更新,但由于某种原因,它只更新了一行.以下是表格中的相关信息:
游戏
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
Run Code Online (Sandbox Code Playgroud)
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Run Code Online (Sandbox Code Playgroud)
现在最终,我想在运行更新后最后一个表看起来像这样:
playercareer
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Run Code Online (Sandbox Code Playgroud)
这是我尝试的只更新第一行的查询:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
Run Code Online (Sandbox Code Playgroud)
我似乎无法找到答案.提前感谢您的时间和建议!
bob*_*olt 30
UPDATE playercareer c
INNER JOIN (
SELECT gameplayer, SUM(points) as total
FROM games
GROUP BY gameplayer
) x ON c.playercareername = x.gameplayer
SET c.playercareerpoints = x.total
Run Code Online (Sandbox Code Playgroud)