2016-04-13 175 views
0

我做了兩個表這樣如何限制左連接?

degree_plan        student_record 
------------------------------  ---------------------------- 
major course  course_no  ID  course_no  grade   
------------------------------  ---------------------------- 
COE  COE200  1    4455  1   A 
COE  COE305  2    4455  2   C 
COE  COE400  3    3333  4   B 
SWE  SWE214  4 
SWE  SWE344  5 
SWE  SWE444  6 

course_no是我如何寫SQL查詢來給我這樣where ID=4455 and the major = COE

-------------------------- 
major course  grade 
-------------------------- 
COE  COE200  A 
COE  COE305  C 
COE  COE400  NULL 
+0

提示:'WHERE'。 '左加入'。 –

+0

只需在course_no上進行內連接或左連接。查看一些關於這個連接的文檔。 –

+0

我試了左連接,但檢索所有左邊的tablel – Steven

回答

0

再嘗試這種方式

select a.mjor, a.course, b.grade 
from degree_plan as a 
left join student_record as b on a.course_no=b.course_no and b.id=4455 
where a.major='COE' 
+0

雖然這段代碼可能回答這個問題,但提供 關於_why_和/或_how_的附加上下文會回答 這個問題會顯着改善它的長期 值。請[編輯]你的答案,添加一些解釋。 –

+0

@TobySpeight我是開發人員。我無法詳細解釋。我剛剛給出解決方案。 –

0
select * 
from degree_plan 
left join studen`t_record 
on studen`t_record.course_no = degree_plan.course_no 
where major = 'COE' 

之間的關係你需要專業在哪裏過濾

+0

雖然此代碼可能回答問題,但提供 關於_why_和/或_how_的其他上下文,回答 問題將顯着提高其長期價值。請[編輯]你的答案,添加一些解釋。 –

+0

@TobySpeight目前它有一個可接受的答案 – Paparazzi

0

試試這個:

select a.major, a.course, b.grade 
from degree_plan a 
left join studen`t_record b on b.course_no = a.course_no 
where a.major = 'COE' 

你甚至都不需要像條款,因爲主要的領域並不比COE

0
SELECT degree_plan.major, degree_plan.course, studen't_record.grade 
    FROM degree_plan 
LEFT JOIN Student_record ON degree_plan.course_no=student_record.course_no where degree.major='COE';