6
我想要什么,我想是一个表与另一个表的总和的简单更新,但由于某种原因,它只是更新一行。以下是从表中的相关信息如下所示:更新表与另一个表中的SUM
游戏
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
现在最后,我想最后的表看起来像这样后运行更新:
player职业
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
这是我尝试,只有更新的第一行查询:
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
我似乎无法找到这个问题的答案。预先感谢您的时间和建议!
您使用的是SQL Server吗? – 2012-04-10 15:11:51
对不起,我正在使用MySQL 5.5.16。 – BigJay 2012-04-10 15:17:17
我用SQL Server测试了你的代码,它工作正常(http://sqlfiddle.com/#!3/97125/2)。也许你应该验证你的玩家名字(也许有一个空白区域,并且不能进行匹配)。最终,我建议您使用ID而不是名称并使用关系表。 – 2012-04-10 15:18:59