2016-08-03 4 views
0

エラー1248(42000)をどのように保ちますか:派生テーブルにはそれぞれ別名が必要ですか?私はそれが自分のエイリアスではない私は各テーブルを与えている?申し訳ありませんが私はMySQLのための私の最初の学期になって以来、私はここで間違って何をしているかについてはあまりよく分かりません。エラー1248(42000):すべての派生テーブルには独自のエイリアスが必要です

SELECT p.PlayerAlias as "Player", 
     s.HiScore as "Score" 
    FROM Player as p INNER JOIN Score as s ON p.PlayerID = s.PlayerID 
     LEFT OUTER JOIN (
      SELECT g.GameID 
      FROM Game as g 
      WHERE g.GameName = "Reaper" 
     ) ON s.GameID = g.GameID 
WHERE s.HiScore < 7000 AND s.HiScore > 4000; 
+1

のJOIN右LEFT OUTER後、内側のクエリの別名が欠落していますg.GameID ' –

+0

_derived_テーブルのエラーがサブクエリを参照しています。 – Uueerdo

+0

その面白いです。私は最初に答えを書いて、受け入れは他の人に与えられました! – FallAndLearn

答えて

0

あなたはs.GameID = ONグラムとして) `となるべきs.GameID = g.GameID` ON)`

SELECT p.PlayerAlias as "Player", 
     s.HiScore as "Score" 
    FROM Player as p INNER JOIN Score as s ON p.PlayerID = s.PlayerID 
     LEFT OUTER JOIN (
      SELECT g.GameID 
      FROM Game as g 
      WHERE g.GameName = "Reaper" 
     ) as g ON s.GameID = g.GameID 
WHERE s.HiScore < 7000 AND s.HiScore > 4000; 
+0

その面白いです。私は最初に答えを書いた、あなたは合格を得た。 – FallAndLearn

+0

@FallAndあなたは私からupvoteを持っていますか? –

+0

ありがとう。感謝。 – FallAndLearn

1

以下のサブクエリには別名が必要です。

LEFT OUTER JOIN (
      SELECT g.GameID 
      FROM Game as g 
      WHERE g.GameName = "Reaper" 
     ) AS T 
関連する問題