2011-11-14 7 views
1

Gamesの行を更新して、そのレコードの平均値にRatingsを乗じたものに、の数を掛けたクエリが必要です。これは私がこれまで持っているものですが、それが動作していないようです:平均化と四捨五入のSQLクエリ

UPDATE Games 
SET PlaysRating = ROUND(AVG 
         (SELECT `Rating` FROM GameRatings WHERE GameID = '37') 
        * (SELECT COUNT(*) FROM Plays WHERE GameID = '37')) 
WHERE ID = 37 
+0

メモ '37'はゲームIDの一例であり、クエリの一部ではありません – Gricey

答えて

3

は、次のようになります。

ところで
UPDATE Games 
SET PlaysRating = round(
     (SELECT count(*) FROM Plays  WHERE GameID = 37) 
    * (SELECT avg(Rating) FROM GameRatings WHERE GameID = 37)) 
WHERE ID = 37 

を、IDが数値型であると仮定すると、私は引用符を削除''

+0

ありがとうございました。これは完全に機能しました – Gricey

+0

(Stupid Stack Overflow) – Gricey

関連する問題