1

我有一个名为Tickets 的表,带有id,名称。还有一个名为 Articles 的表,其中包含 id、ticket_id 和 status。

我正在尝试显示所有票证名称,以及具有该票证 ID 的文章计数,以及具有该票证 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

提前感谢您的任何帮助和建议。

4

1 回答 1

1

It should work ...

    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
于 2011-04-22T16:49:43.717 回答