0

私の問題は次のとおりです。さまざまなユーザーのプレイしたゲームとゲームのスコアを組み合わせ、2 つの部分の計算で集計関数を使用して合計スコアを取得する MS SQL クエリがあります。何らかの理由で、計算の一部 (計算の最初の部分 - プレイしたゲーム) が合計スコア (私はこれを Algoscore と呼んでいます) に使用されていません。クエリは次のとおりです。

SELECT TOP 10
  COUNT(TourScore.TourScoreID) AS GameCount,
  AVG(GameScore.GameScore) AS AVGScore,
  Users.UserID, Users.DisplayName,
  (((COUNT(TourScore.TourScoreID) / 750) * .50) * 100)
    + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore
FROM TourScore INNER JOIN GameScore
    ON TourScore.GameScoreID = GameScore.GameScoreID
  INNER JOIN Users
    ON GameScore.UserID = Users.UserID
WHERE (GameScore.ScoreDate BETWEEN '01/01/2013' AND '06/01/2013') 
GROUP BY Users.UserID, Users.DisplayName
ORDER BY Algoscore DESC

SELECT: の計算部分は、
(((COUNT(TourScore.TourScoreID) / 750) * .50) * 100) + (((AVG(GameScore.GameScore) / 14695) * .50) * 100) AS Algoscore
基本的に計算の最初の部分を無視しています。(((COUNT(TourScore.TourScoreID) / 750) * .50) * 100)

2 番目の部分は正常に計算されているため、クエリを実行するAlgoscoreと、式の最初の部分と 2 番目の部分が結合されたものではなく、式の 2 番目の部分のみになります。

これが理にかなっていることを願っています。これに関するアドバイスはありますか?別の値を取得するために、集計関数を含む式を使用して、このようなクエリを実行することはできますか?

4

1 に答える 1