我试图从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中显示(列)-name以及
销售商品的总数(列数) - &表1和表1中每个类别的(列)总金额。以下4个类别中的每一个
主要类别是category_id = 177但是
这有3个子类别,category_id = 191,192,193
所有3个都使用表4中的parent_category = 177链接到主类别?
我希望香港专业教育学院更好地解释这一点。提供了足够的细节和thx任何帮助
答案 0 :(得分: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