2016-12-05 150 views
0

這個標題的問題存在很多次,但我很難找出關於我的表的問題。LEFT JOIN不返回NULL行

我有課程

id  | name 
1  | course A 
2  | course B 

一張桌子和一臺帶視頻的課程

course_id |  name 
1   |  video A 
1   |  video B 

我想要檢索的所有課程,包括他們多少視頻。我的查詢只返回課程A,但不是課程B(沒有視頻的地方)。但我還是想返回

SELECT c.name, COUNT(v.course_id) as num_videos FROM courses as c 
LEFT JOIN videos as v ON v.course_id = c.id 

回答

3

課程B您在這裏缺少一個group by

SELECT c.name, COUNT(v.course_id) as num_videos 
FROM courses as c 
LEFT JOIN videos as v ON v.course_id = c.id 
GROUP BY v.course_id;