在两个mysql表上填充数据时出现问题

时间:2011-08-19 19:54:14

标签: php mysql join union

请帮忙。

我有两张桌子。

  

SUBCAT

     

id,user_id,subcat_id,title,description,price,best_offer,     image,zip,premium_listing,status,date_create,d date_modified

  

aditem

     

id,user_id,subcat_id,title,descriptio,n pric,e best_offer   image,zip,premium_listing,status,date_created,date_modified

我正在尝试列出subcat中的所有类别,并计算已发布到aditem中与subcat中的id相关的广告项目数

所以结果看起来像这样

  

自动 - 7

     

垃圾车-9

     

服装 - 10

     

自行车 - 0

我尝试过LEFT JOIN但是没有用。有办法实现这个目标吗? UNION会工作吗?

这是我想要完成的一个例子:http://www.ksl.com/index.php?nid=13

这是我试过的

   SELECT  subcat.id, subcat.cat_id, subcat.subcat, subcat.description AS subdesc, COUNT(aditem.subcat_id) AS itemc 
     FROM subcat
LEFT JOIN aditem  
       ON aditem.subcat_id = subcat.id
感谢一百万 认真

2 个答案:

答案 0 :(得分:0)

尝试使用

SELECT subcat.id, subcat.cat_id, subcat.subcat, subcat.description AS subdesc,    COUNT(aditem.id) AS itemc FROM subcat LEFT JOIN aditem ON aditem.subcat_id = subcat.id
GROUP BY subcat.cat_id

答案 1 :(得分:0)

你需要在那里使用COUNT(*)语句。像

这样的东西
SELECT subcat.title, COUNT(aditem.id) AS count FROM subcat LEFT JOIN aditem ON subcat_id = subcat.id 

最后你可能需要这个;不确定,现在无法测试:

GROUP BY aditem.id