0

我的查询有问题,下面是tbl_tagtbl_tag_usedby的两个表。我想显示 tbl_tag_usedby 中的记录使用了多少tbl_tag每条记录。

在此处输入图像描述

这是我使用的查询:

SELECT t.*, COUNT(u.tagid) AS totale FROM tbl_tag t LEFT JOIN tbl_tag_usedby u ON u.tagid = t.id AND t.status =1 GROUP BY u.tagid

结果如下:

在此处输入图像描述

在这种情况下,从 2 到 6 的记录 id 不会出现在查询结果中,我希望从 2 到 6 的记录 id 也显示在“totale”字段上,其值为 0。

谁能帮我?

4

4 回答 4

3

尝试这个:

SELECT t.*, COUNT(t.id) AS totale FROM tbl_tag t LEFT JOIN tbl_tag_usedby u ON u.tagid = t.id AND t.status =1 GROUP BY t.id
于 2012-07-09T09:04:17.120 回答
1

尝试这个::

SELECT 
t.*, COUNT(t.id) AS totale 

FROM tbl_tag t 

LEFT JOIN tbl_tag_usedby u ON u.tagid = t.id
where t.status =1 
GROUP BY t.id
于 2012-07-09T09:10:22.620 回答
1

您需要使用连接两个表LEFT JOIN

SELECT a.id,
       a.name,
       COUNT(t.id) AS totale
FROM    tbl_tag a 
           LEFT JOIN tbl_tag_usedby b 
              ON b.tagid = a.id
WHERE  a.status = 1 
GROUP BY a.id
于 2012-07-09T09:11:44.937 回答
0

轻微更正:这对我来说非常适合替换COUNT(t.id)COUNT(u.id)

SELECT t.*, COUNT(u.id) AS totale  
FROM tbl_tag t 
     LEFT JOIN tbl_tag_usedby u ON u.tagid = t.id
where t.status =1 
GROUP BY t.id
于 2012-12-28T07:54:30.900 回答