使用3个表来计算总成本的SQL查询

时间:2017-11-30 13:03:02

标签: mysql stored-procedures

Order details表包含catalog id及其quantity

Catalog具有特定商品的价格。

对于一个订单,他或她只能选择2个项目。必须使用order id生成所选项目总成本并将其存储在特定订单的订单表中。

my catalogs中的列为id, name, price

order details中的列为id, order_id, catalog_id, quantity

orders表格中的列为id, customer_id, total_cost

如何使用mysql中的3个表计算总成本?

1 个答案:

答案 0 :(得分:0)

试试这个。

SET SQL_SAFE_UPDATES = 0;
UPDATE orders
INNER JOIN (
SELECT order_id, SUM(quantity*price) total_price
FROM order_details
INNER JOIN my_catalogs
ON order_details.catalog_id = my_catalogs.id
GROUP BY order_id
) d
ON order.id = d.order_id
SET orders.total_cost = d.total_price;
SET SQL_SAFE_UPDATES = 1;