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を使用してメインカテゴリにリンクされていますか。
私はiveがこれをはるかによく説明し、助けのために十分な詳細とthxを提供したことを願っています

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 に答える