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个表计算总成本?
答案 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;