2013-02-20 2 views
0

У меня есть столовый отдел и служащий. схемы, как,Как получить счет в Mysql Left Join?

department(id, name) 
employee(id,depid,salary) 

мне нужно получить количество сотрудников в каждом отделе. Мой запрос в MySQL, как

select d.depname,count(e.id) 
from employe as e left join department as d on d.depid 
where e.depid=d.depid group by d.depid; 

но результирующий набор содержит только отдел с сотрудниками в нем. Мне нужны эти отделы с 0 сотрудниками как нуль.

+0

http://www.sqlfiddle.com/#!2/63551/5 –

ответ

6

просто поменять местами имена таблиц,

SELECT d.name, 
     COUNT(e.id) totalEmployeeCount 
FROM department AS d 
     LEFT JOIN employee AS e 
      ON e.depid = d.id 
GROUP BY d.id; 

Для дальнейшего получить больше знаний о присоединяется, любезно перейдите по ссылке ниже:

+0

Спасибо за комментарий – Anjana

+0

приветствуется ': D' –