MYSQL INNER JOINとGROUP BY

アマンダ:

私は、レコードのオーダー名、価格、IMGおよびなどのような製品の詳細、および受注テーブルを保持している製品のテーブルを持っています。受注テーブルの上に、私は製品からのみPRODUCT_IDを保存し、私は私の結果グループにしたいです。私の製品のテーブルの例では、私が持っています

product_id, product_name, product_price
1           apple         10
2           juice         5
3           pineapple     7.5

例えば私の命令テーブルに関しては、私が持っています

order_id, product_id, quantity, date
1         1           3         20.02.2020
2         3           2         22.12.2019
3         3           4         12.12.2020
4         1           2         12.02.2020

私は、例えば、製品名と数量によってGROUP私のORDERSテーブルにしたいです

product_name, quantity, price
apple         5         50
pineapple     6         45

そして、ここで私のクエリです

SELECT 
products.product_id, 
products.product_name,
products.product_price AS price,
orders.quantity AS col,
orders.by_date,
(SELECT SUM(price * col)) AS total
FROM products
INNER JOIN orders ON products.product_id = orders.product_id
GROUP BY products.product_id,   
     products.product_name,
     orders.order_id

そして、その結果はとして除外されていません

私は確かにまさに私が間違ってやっていませんよ。私は、サブクエリを実行する必要がありますか?

Sithroo:
SELECT 
  p.product_name,
  SUM(o.quantity) AS quantity,
  SUM(o.quantity * p.product_price) AS price
FROM products p
INNER JOIN orders o
ON p.product_id = o.product_id
GROUP BY 
  p.product_name

以上の結果を生成するのに十分であるべきです

roduct_name, quantity, price
apple         5         50
pineapple     6         45

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=280669&siteId=1