MySql Count 不能显示 0 个值

2021-11-20 00:00:00 join count zero mysql

我有两张桌子一张员工和邮寄订阅员工看起来像这样:

I have two tables one Employee and mailing Subscriptions Employee looks like this:

姓名 (pk) |姓氏 |年龄

Name (pk) | Surname | Age

邮寄订阅

MailId (pk)|员工姓名 (fk)|描述 |日期

MailId (pk)| EmployeeName (fk)|Description | Date

我想为每个客户提供订阅号,因此我尝试了以下查询:

I wanted to subscription number for each customer, therefore I tried the following query:

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

它将为我提供在邮件订阅中具有条目的每个员工的所有计数.

It will give me all counts for each Employee that has an entry in the mailing subscription.

我的问题是我想查看所有员工的计数,包括没有条目的员工(因此显示为 0),我尝试了外部左/右连接,但它不起作用.难道我做错了什么?

My problem is that I want to see the counts for ALL the Employees, including the ones without an entry (therefore to show 0), I tried an outer left/right join, but it will not work. Am I doing something wrong?

推荐答案

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

相关文章