2011-02-25 13 views
2

我有兩個表,用於存儲候選人及其成績。一個簡單的連接可以得到所有的考生和他們的成績,通過匹配的ID等加入時的問題,其中一列一方爲空

如:

Alan C 
George A 

等等。但是:

Nina 

爲尼娜等級爲null,因爲她沒有參加考試。

如何獲得如下輸出?

Alan C 
George A 
Nina 

所以還是得到妮娜,儘管她沒有參加考試。我試過null檢查,然後進行一些東西,等

感謝

回答

7

您想使用左連接。

select c.name, coalesce(g.grade,'') 
    from candidate c 
     left join grade g 
      on c.candidate_id = g.candidate_id 
+1

+1使用'coalesce' – 2011-02-25 16:47:23

1

您需要使用left join。例如:

select c.name, g.grade 
from candidates c 
left join grades g on g.candidateid=c.id 

左連接始終列出連接「左」側的所有行 - 在本例中爲候選。在考生在成績表中沒有條目的行上,從該表填充的所有列都將爲空。

1

您需要爲此使用左連接。

相關問題