нужно вернуть заголовок и количество каждого отдела из mysql - PullRequest
0 голосов
/ 14 октября 2011

таблица:

departments: id, title

comments: id, year_code

department_comments: comment_id, department_id

Я хочу перечислить каждый заголовок отдела с указанием количества комментариев.

что-то вроде

select 
 d.title, count(c.id) as total_comments
from 
 departments d, comments c
left join
 department_comments dc on c.id = dc.comment_id 
where
 c.year_code = 1011

Приведенный выше запрос не работает, но он должен дать вам представление о том, чего я пытаюсь достичь.

Я хочу показать пользователю название отдела и общее количество комментариев рядом с ним, как показано ниже:

d.title (count(c.id))
---------------------
Maintenance (10)
Finance (5)
Security (13)

1 Ответ

4 голосов
/ 14 октября 2011

Вы были близки.Ваш синтаксис JOIN немного отключен, и вы пропускаете GROUP BY.

SELECT d.title, COUNT(dc.comment_id) AS total_comments
    FROM departments d
        LEFT JOIN department_commments dc
            INNER JOIN comments c
                ON dc.commment_id = c.id
                    AND c.year_code = 1011
            ON d.id = dc.department_id
    GROUP BY d.title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...