2016-03-23 5 views
-2

Ich habe diese Tabellen in meiner DatenbankHOW I herauszufiltern drei Tabellen-ID in SQL

table1     table2       table3 
---------------   ----------------------------   --------------------- 
NO. courses   NO. id  courses grade   NO.  courses 
---------------   -----------------------------   --------------------- 
1  CHEM 101   1 2255  CHEM 101 A+    2   English  
2  ENGL 101   2 2255  English  A 
3  MATH 101   1 2244  CHEM 101 A+ 

Ich schrieb SQL-Abfrage die Daten aus den vorherigen Tabellen abzurufen, um mich so

Tabelle zu zeigen,
---------------------------------------- 
course  grade  equal of my courses 
---------------------------------------- 
CHEM 101 A+   null 
ENGL 101 A    English 
MATH 101 null   null 

die Abfrage

Es funktioniert gut, aber wie ich von id herausfiltern?

+1

das ist der falsche Weg. Sie kopieren Frage von http://stackoverflow.com/questions/36177506/how-to-retrieve-data-from-three-tables-in-sql/36177654#36177654 und eine andere Frage gestellt. –

Antwort

0

Mit der where-Klausel. Ersetzen Sie 1 durch die ID, nach der Sie filtern möchten.

SELECT t1.courses,t2.grade,t3.courses AS 'equal of my courses' 
FROM table1 t1 
LEFT JOIN table2 t2 
ON t1.NO = t2.NO 
LEFT JOIN table3 t3 
ON t2.NO = t3.NO 
WHERE t2.id = 1;