我需要创建一个函数,该函数将返回订单总数。我得到了三个带有以下变量的表
表1-订单
表2-订购产品
表3-产品
我正在努力整合功能。任何帮助将不胜感激。
我已经尝试通过两个表之间的连接来设置函数,但是无法弄清楚应该在哪里放置方程式。
@data
答案 0 :(得分:2)
您可能会感到惊讶,但是此查询不需要orders
表。您可以汇总其他两个表:
SELECT oi.order_id, SUM(p.price * oi.quantity)
FROM order_item oi JOIN
product p
ON po.product_id = p.product_id
GROUP BY oi.order_id;
答案 1 :(得分:1)
您需要使用select语句,并在group
之前order.order_id
。这样一来,每个订单就会有一行,而该订单的总数为sum
。
SELECT order.order_id, SUM(product.price * order_item.quantity) as total_price
FROM `order`
JOIN `order_item` ON order.order_id = order_product.order_id
JOIN `product` ON order_product.product_id = product.product_id
GROUP BY order.order_id
答案 2 :(得分:0)
这将起作用:
SELECT order.order_id, SUM(product.price * order_item.quantity)
FROM order o,
JOIN order_item oi,
JOIN product p where
o.order_id = oi.order_id and
oi.product_id = p.product_id
group by order_product.product_id = product.product_id;