Я хотел бы отследить, сколько опросов было проведено различными отделами на работе.
Это довольно легко сделать, используя «Группировать по» и считая количество совпадений.
SELECT Departments.DepartmentName, count(*) as [survey count]
FROM Departments INNER JOIN
Surveys ON Departments.DepartmentID = Surveys.DepartmentID
GROUP BY Departments.DepartmentName
но это показывает только те отделы, которые завершили опросы. Как бы я получал, чтобы отделы, которые не завершили опросы, были представлены в списке результатов как нулевой счет?
Обновление:
SELECT Departments.DepartmentName AS Department,
COUNT( Surveys.DepartmentID) AS [survey count]
, Departments.DepartmentID
FROM Surveys FULL OUTER JOIN
Departments ON Surveys.DepartmentID = Departments.DepartmentID
GROUP BY Departments.DepartmentName, Departments.DepartmentID