2014-11-03 70 views
1

我有兩個表:伯爵在左連接

event: id_event, description 

guest: id_guest, id_event 

,我使用下面的查詢:

SELECT id_event, description FROM event LEFT JOIN guest ON event.id_event = guest.id_event; 

我需要一個事件出現在來賓表的次數如果沒有出現則爲零。

回答

2

你是在正確的軌道上,你只需要group by做計數:

SELECT e.id_event, e.description, count(id_guest) as NumTimes 
FROM event e LEFT JOIN 
    guest g 
    ON e.id_event = g.id_event 
GROUP BY e.id_event, e.description; 

你也應該習慣使用表的別名。他們使查詢更容易編寫和閱讀。

+0

Ohhhhhhh謝謝!隨着e.description組不會工作,但刪除此,並只設置爲由id_event組和這項工作:D – 2014-11-03 02:50:43

+0

它如何不適用於這個'group by'?我能想象的唯一錯誤是如果'description'是一個字段,比如'text'字段,對於'group by'來說太長了。 – 2014-11-03 03:00:43