2012-07-09 32 views
0

使用与我的查询问题,下面是两个表tbl_tagtbl_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.

任何人都可以帮我吗?

+0

tbl_tag_usedby是否包含tagid = 2,3,4 ...? – 2012-07-09 09:05:33

回答

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 
+0

谢谢。你帮我解决了我的问题。 – Fredy 2012-07-09 09:19:12

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 
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 
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 
相关问题