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