2017-07-29 9 views
0

私はいくつかのSQL宿題に取り組んでおり、誰かがこの質問をどのようにして解決するか説明することができます。SQL各文について

チームの平均生スコア「イルカ(1点)
  • 表示ここ

  • データ構造の画像です。

    DataStructure

    私は4人の選手の平均生のスコアを返すクエリを作成する必要があります。 しかし、以下のコードを実行しようとすると、ただ1つの平均値が返されます。

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

    ボウラースコアでは、各ボウラーIDは複数のスコアを持つことができます。 たとえば、レコード - (43,101)(50,301)および(43,106)を持つことができます。

    ボウラーの得点表の個々の生の得点のすべてからそのチームの各プレイヤーの平均生スコアを得るSQLステートメントと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 
    

    をあなただけのチームに1つの平均スコアが必要な場合は、単にSELECTおよびGROUPからBowlerIDを削除BY行。

    +0

    ERROR 1052フィールドリスト内のBowlerID列が曖昧である –

    +0

    列にテーブル名を追加する(例については、結合のon句を参照) –

    +0

    where句を追加して、結果を希望の1つのチームに限定する必要があります名。 –