2014-09-25 31 views
0

你好,我有3個表:裝滿數據(球員排名)表

  1. 玩家(ID,姓名,姓)
  2. 遊戲(ID,id_gamer,點)
  3. 總數(ID ,id_gamer,name_gamer,total_Points,位置)

在表:playersgames,記錄輸入由管理員,

在表totals我希望通過每個玩家(id_gamer和name_gamer)的sql查詢輸入信息和點數(總和(點數))和在評級中的位置

我開始這樣做,但它不工作

INSERT INTO totals (id_gamer, name_gamer) SELECT id, Name FROM players ; 

感謝

回答

0

可以在總積分用此來填充每個球員:

INSERT INTO totals (id_gamer, name_gamer, total_points) 
SELECT p.id, p.name, IFNULL(SUM(g.points), 0) 
FROM players AS p 
LEFT JOIN games AS g ON p.id = g.id_gamer 
GROUP BY p.id 

一旦你有點數,你可以更新它來填補職位。有關在MySQL中計算排名的方法,請參閱Rank function in MySQL