пытаясь объединить две таблицы и подсчитать, сколько комментариев было сделано об отделе - PullRequest
0 голосов
/ 16 декабря 2010

Мой sql не работает при попытке получить общее количество комментариев, сделанных каждым отделом.

select * from departments d
  COUNT( comments.department_id ) AS total_comments
FROM
  d
LEFT JOIN
  comments c
ON
  ( d.id = c.department_id )
GROUP BY
  d.id, d.title

comments.department_id =partments.id

ОБНОВЛЕНИЕ: я не упомянул, что хочу показать результаты следующим образом: департаменты.титл (всего_комментариев)

Пример: Техническое обслуживание (4)

решено: нужно сгруппировать его также по d.title, теперь GROUP BY - это d.id, d.title

1 Ответ

11 голосов
/ 16 декабря 2010
SELECT departmentID, COUNT(*)
FROM COMMENTS
GROUP BY departmentID

если вам нужны отделы без комментариев:

SELECT d.DepartmentID, Count(c.DepartmentID)
FROM Departments d
LEFT JOIN Comments c on d.departmentid = c.departmentid
GROUP BY d.DepartmentID
...