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