2016-04-18 18 views
1

私は情報を引き出そうとしている3つの異なるテーブルを持っています。さまざまな方法で関連しています。私は今私は2つのクエリを使用するよりも少し良い情報を引き出すことができます結合ステートメントを検索しようとしています。ここで複数の結合を持つMySQL結合クエリ

は、私はこれは私が適切に2つのテーブルをマージすることができます

SELECT * FROM reports LEFT JOIN students USING (sID) 

を持っているものです。ただし、レポートテーブルにpIDという行があります。私は他のデータと一緒に一致するpID行を持っているtestという名前の別のテーブルを持っています。私はそのテーブルからもデータにアクセスしようとしています。そのように3つのテーブルを結合することは可能ですか?唯一

+1

質問にタグを付けるときは注意が必要です。 USINGを結合すると、mysqlまたはoracleの可能性が高いことが示されます。これは、SQL Serverでは有効な構文ではありません。 –

+0

はい、3(または1000)のテーブルを結合することが可能です – Strawberry

答えて

3

あなたはtable3は、あなたのテーブルの名前である次

SELECT * 
FROM reports 
LEFT JOIN students USING (sID) 
LEFT JOIN table3 USING (pID) 

を行うことができますだけでなくSID、しかし、PIDからデータを取得していません。

1

こんにちは。あなたは3つのテーブル、レポート、学生、およびテストを与えられた場合、次のようなクエリを実行できます。

SELECT * 
FROM `reports` 
LEFT JOIN `students` ON `students.sid=reports.sid` 
LEFT JOIN `test` ON `reports.pid=tests.pid` 
+0

カラム名とテーブル名に '(backtic)の代わりに '(チック)を使用します。しかし、このwhere節は切り替えられても失敗します。 – xQbert

+0

ありがとう。 – Fil

+0

LEFT JOIN 'students' ** ON ** ** ** WHERE **。 –

関連する問題