2017-09-30 8 views
0

あたりの項目の総売上高を取得するにはどうすればアイテムのカテゴリごとの項目の総売上高をカウントする方法を見つけ出すしてみてください。カテゴリLaravel

items表:

+---------+--------------+----------------+ 
+ id  + item_name + item_category + 
+---------+--------------+----------------+ 
+ 1  + Yeezy Boost + 2    + 
+ 2  + Nike Blabla + 1    + 
+ 3  + Bata blabla + 8    + 
+ 4  + Vans blabla + 3    + 

categories表:

+---------+---------------+----------------------+ 
+ id  + category_name + category_description + 
+---------+---------------+---------------------- 
+ 2  + Adidas  + Adidas category blab + 
+ 1  + Nike   + Nike category blabla + 
+ 8  + Bata   + Bata categor blabla + 
+ 3  + Vans   + Vans catyegory blaba + 

orders表:

+--------+------------+-------------+-----------+ 
+ id  + order_date + customer_id + status + 
+--------+------------+-------------+-----------+ 
+ 1  + 2017-09-12 + 98   + shipped + 
+ 2  + 2017-08-22 + 87   + paid  + 
+ 3  + 2017-07-31 + 33   + unpaid + 
+ 4  + 2017-09-14 + 12   + delivered + 
+ 5  + 2016-09-22 + 90   + paid  + 

order_Details表:

お客様が、この場合に id 13 itemsを購入した場合
+-----+---------+-----------+ 
+ id + item_id + orders_id + 
+-----+---------+-----------+ 
+ 1 + 3  + 3   + 
+ 2 + 4  + 3   + 
+ 3 + 4  + 3   + 
+ 4 + 1  + 2   + 
+ 5 + 2  + 2   + 
+ 6 + 4  + 2   + 
+ 7 + 3  + 2   + 
+ 8 + 3  + 2   + 
+ 9 + 1  + 5   + 
+ 10 + 1  + 5   + 

まあ、私はorder_detailsテーブルにordersテーブルに&注文の詳細を各注文を入れて、例えば、項目がYeezy Boostになり、これは各項目ごとorder_details3 recordsを挿入します私が欲しいのは、カテゴリごとにどれくらいのアイテムが売られているのか(つまり、order_detailsのテーブルから取得する)なので、上記の例のテーブルでは、カテゴリ2(アディダス)で販売されているアイテムを取得しようとすると3アイテムが返されます。どのようにこれを行うには、私はLaravel 5.4を使用しています私は任意の助けを感謝します!ありがとう!

答えて

0

私は、このSQLスクリプトは、受注テーブルの上にsaled総項目を把握するためにあなたを助けると思います。

SELECT i.id, i.item_name, count(i.id) total_items_saled 
FROM orders AS o 
INNER JOIN order_details ON od.order_id = o.id 
INNER JOIN items AS i ON i.id = od.item_id 
INNER JOIN categories AS c ON c.id = i.item_category 
GROUP BY c.id, i.id 
WHERE o.status like 'paid' 
+0

私はそれを試してみましょう!ありがとう! –