2017-07-29 69 views
0

我正在研究一些SQL作業,可能有人向我解釋如何完成此問題。SQL對於每條語句

  • 顯示團隊的平均原始分數「海豚(1點)
  • 這裏是數據結構的圖像。

    DataStructure

    我需要返回的4名選手的平均原始分數的查詢。 但是,當我嘗試執行下面的代碼時,它只返回一個平均值。

    /* Question 2 */ 
    SELECT AVG(RawScore) 
    FROM Bowler_Scores 
    WHERE BowlerID IN 
    (
    SELECT BowlerID 
    FROM Bowlers 
    WHERE TeamID = 
    (
    SELECT TeamID 
    FROM Teams 
    WHERE TeamName = "Dolphins")); 
    

    在投球手得分中,每個投球手可以有多個得分。例如它可能有記錄 - (43,101)(50,301)和(43,106)。

    我不知道如何編寫和sql語句,可以得到該團隊中每個玩家的平均原始分數,其中包括原始分數表中所有單獨的原始分數。

    +0

    這是一個非常糟糕的方式去做,它並沒有真正解決OP的問題。另外,請不要在評論中張貼代碼。 –

    回答

    1

    如果您需要的個人平均得分爲海豚隊的每一個成員,你可以使用這個:

    Select Teams.TeamName, Bowlers.BowlerID, avg(Rawscore) 
    from Bowlers 
    inner join Teams 
    on Bowlers.TeamId = Teams.TeamID 
    inner join Bowler_Scores 
    on Bowlers.BowlerID = Bowler_Scores.BowlerID 
    where teams.teamname = 'Dolphins' 
    group by TeamName, BowlerID 
    

    如果你只是需要一個平均得分爲球隊然後就從選擇和分組取出BowlerID BY線。

    +0

    它說錯誤1052列字段列表中的BowlerID不明確 –

    +0

    將表名添加到列中(請參閱示例的連接的on子句) –

    +0

    您還需要添加一個where子句以將結果限制爲一個所需的團隊名稱。 –