MySQL считает две группы из объединенной таблицы - PullRequest
1 голос
/ 22 апреля 2011

У меня есть таблица под названием Билеты с идентификатором, именем.и таблицу под названием Articles с id, ticket_id и status.

Я пытаюсь отобразить все имена Ticket вместе с COUNT статей с этим ticket_id, а также COUNT статей с этим ticket_id и статусом= '1'

Пока я пробовал это безуспешно:

SELECT t.name, count(a.id), count(aa.id)
FROM tickets t
LEFT JOIN articles a ON t.id = a.ticket_id GROUP BY t.id
LEFT JOIN articles aa ON t.id = aa.ticket_id AND aa.status = '1' GROUP BY t.id

Заранее благодарен за любую помощь и совет.

1 Ответ

1 голос
/ 22 апреля 2011

Должно работать ...

    SELECT t.name, 
           count(a.id), 
           SUM(CASE WHEN a.status = '1' THEN 1 ELSE 0 END)
      FROM tickets t
      LEFT JOIN articles a 
        ON t.id = a.ticket_id 
     GROUP BY t.id,
           t.name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...