如果有帮助,我正在使用Opencart购物车&我在报告 - 产品购买页面中显示了一个额外的列 我可以让它显示每个类别的项目数量&使用以下代码的总费用......
SELECT COUNT( DISTINCT op.model ) AS quantity, SUM( op.total + op.total * op.tax /100 ) AS total
FROM `order_product` op
LEFT JOIN `product_to_category` ptc
ON ( op.product_id = ptc.product_id )
WHERE ptc.category_id =192
OR ptc.category_id =177
GROUP BY category_id
这将显示来自特定类别的7件商品,总计135.00&共有105件来自其他类别的5件商品
数量合计
7个135.00
5 105.00
但我在显示另一个名为 category 的表中的类别名称之后,它显示如下
类别数量总计
女子7 135.00
男士5 105.00
我尝试使用LEFT JOIN将* product_to_category *链接到类别,但我只是新手,所以任何帮助都会很棒;)
答案 0 :(得分:0)
您只需加入类别表并添加您的姓名。
SELECT c.name
, COUNT( DISTINCT op.model ) AS quantity
, SUM( op.total + op.total * op.tax /100 ) AS total
FROM order_product op
LEFT JOIN product_to_category ptc
ON op.product_id = ptc.product_id
LEFT JOIN category_description c
on ptc.category_id = c.category_id
WHERE ptc.category_id =192
OR ptc.category_id =177
GROUP BY ptc.category_id, c.name
由于您刚接触JOIN这是一个有用的连接解释
答案 1 :(得分:0)
将类别说明(无论名称是什么)添加到select和group by。如果未包含在选择中,则不需要group_中的product_id。
SELECT ptc.CategoryDescription, COUNT( DISTINCT op.model ) AS quantity,
SUM( (op.total+op.total) * op.tax/100 ) AS total
FROM order_product op
LEFT JOIN product_to_category ptc ON ( op.product_id = ptc.product_id )
WHERE ptc.category_id =192
OR ptc.category_id =177
GROUP BY ptc.CategoryDesription