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个表来计算总成本?
最佳答案
尝试这个。
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;