问题
I have two tables one Employee and mailing Subscriptions Employee looks like this:
Name (pk) | Surname | Age
mailing Subsriptions
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.
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?
回答1:
SELECT c.name, count(m.mailid)
FROM Employee
LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName
GROUP BY c.name;
来源:https://stackoverflow.com/questions/5448368/mysql-count-cannot-show-0-values