我的查询存在问题,下面是两个表 tbl_tag 和 tbl_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。
任何人都可以帮助我吗?
答案 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