【问题标题】:Trouble with populating data on two mysql tables在两个 mysql 表上填充数据时遇到问题
【发布时间】:2011-10-30 21:35:27
【问题描述】:

请帮忙。

我有两张桌子。

子猫

id、user_id、subcat_id、标题、描述、价格、best_offer、 图片、zip、premium_listing、状态、date_create、d date_modified

aditem

id、user_id、subcat_id、title、descriptio、n pric、e best_offer 图片、zip、premium_listing、状态、date_created、date_modified

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

所以结果可能是这样的

自动 - 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

感谢一百万 认真的

【问题讨论】:

  • 当您说“它不起作用”时 - 发生了什么?对我来说,您好像缺少一个 group by 子句。

标签: php mysql join union


【解决方案1】:

您需要在其中使用 COUNT(*) 语句。像

SELECT subcat.title, COUNT(aditem.id) AS count FROM subcat LEFT JOIN aditem ON subcat_id = subcat.id 

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

GROUP BY aditem.id

【讨论】:

    【解决方案2】:

    尝试使用

    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
    

    【讨论】:

    • 您可以使用 Order BY column_name 子句。你能提供这个排序的例子吗?
    • 尝试使用 GROUP BY aditem.cat_id
    • 这是我尝试过的更新。结果只在每只猫中显示一个子猫“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 WHERE subcat.cat_id = '$catid' GROUP BY subcat.cat_id ");
    • 知道了。这里是答案“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 WHERE subcat.cat_id = '$catid' GROUP BY subcat.id ");
    • 是的,这与 GROUP BY aditem.cat_id 相同,但应该在 db 上进行检查。
    猜你喜欢
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2011-05-22
    • 2020-08-22
    • 1970-01-01
    • 2019-11-19
    • 2013-09-28
    相关资源
    最近更新 更多