如何显示其他表使用的表中每条记录的次数

时间:2012-07-09 08:58:57

标签: mysql

我的查询存在问题,下面是两个表 tbl_tag tbl_tag_usedby 。我想显示 tbl_tag_usedby 中记录使用的 tbl_tag 中每条记录的数量。

enter image description here

这是我使用的查询:

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

,结果如下:

enter image description here

在这种情况下,从2到6的记录ID不会出现在查询结果中,我想要显示从2到6的记录ID,在字段“totale”中它的值是0。

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分: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

答案 3 :(得分: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