2011-03-27 124 views
0

我有两个表一个 员工和邮件订阅 员工看起来是这样的:MySql的计数不能显示0值

名称(PK)|姓氏年龄

邮件订阅

MailId(pk)| EmployeeName(fk)|说明|日期

我想预约号码为每一个客户,所以我尝试了以下查询:

Select COUNT(c.Name) 
From Employee 
    INNER JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName; 

它会给我的每个员工是在邮件订阅条目所有罪状。

我的问题是我想看到的计数的所有雇员,包括那些没有一个条目(因此显示0),我试过外左/右连接,但它不会工作。难道我做错了什么?

回答

4
SELECT c.name, count(m.mailid) 
FROM Employee 
    LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName 
GROUP BY c.name; 
+0

O.O我不敢相信我犯了这样一个愚蠢的错误!我现在才意识到它.... OOPS!谢谢! – 7dr3am7 2011-03-27 09:54:21