MYSQL INTERIOR JOIN y GROUP BY

Amanda:

Tengo una tabla de productos que contiene los detalles del producto como nombre, precio, img y etc, y la tabla de pedidos donde los registros de órdenes. En la tabla de pedidos, almaceno el único product_id de productos y quiero grupo de mis resultados. Por ejemplo, en mi mesa productos, tengo

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

En cuanto a mi tabla de pedidos por ejemplo, tengo

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

Quiero GRUPO DE ÓRDENES mi mesa por su nombre y cantidad del producto Por ejemplo

product_name, quantity, price
apple         5         50
pineapple     6         45

Y aquí está mi consulta

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

Y el resultado no es tan exceptúa

No estoy seguro exactamente lo que estoy haciendo mal. ¿Necesito hacer una subconsulta?

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

Lo anterior debería ser suficiente para producir el resultado

roduct_name, quantity, price
apple         5         50
pineapple     6         45

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=280673&siteId=1
Recomendado
Clasificación