使用另一个表中的SUM更新表

Big*_*Jay 9 mysql sum

我正在尝试我认为将使用另一个表中的总和对表进行简单更新,但由于某种原因,它只更新了一行.以下是表格中的相关信息:

游戏

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)