0

我试图从 4 个表中使用 mysql 显示数据(我认为),但我列出了下面的所有 4 个表以及列。

table1 = order_product  
Columns = order_product_id, order_id, product_id, name, price, total, tax, quantity  
table2 = product_to_category  
Columns - product_id, category_id  
table3 = category_description  
Columns - category_id, name  
table4 = category  
Columns - category_id, parent_id  

我试图显示表 3 中
的(列)名称以及表 1 中每个类别和以下 4 个类别中的每个类别的已售商品的总(列)数量和(列)总金额。
主类别是 category_id=177 但这
有 3 个子类别, category_id=191,192,193
所有 3 个都使用表 4 中的 parent_category=177 链接到主类别?
我希望我能更好地解释这一点并提供足够的细节并感谢任何帮助

4

1 回答 1

0

有更巧妙的方法来表达这个,但我认为这个查询对你有用。

SELECT t3.name, t2.category_id, sum(t1.quantity), sum(t1.total)
FROM table1 t1
LEFT OUTER JOIN table2 t2 ON t1.product_id = t2.product_id 
LEFT OUTER JOIN table3 t3 ON t2.category_id = t3.category_id
WHERE t2.category_id = 177 
OR t2.category_id IN (SELECT t4.parent_id FROM table4 t4 WHERE t4.category_id = 177)
GROUP BY t3.name, t2.category_id
于 2012-05-09T20:01:38.697 回答