我有两个表:
ITEMS
数量和 unit_price (id | name | order_id | qt | unit_price) 和 table ORDERS
。
我想为相同的订单放置UPDATE
表格以获得订单的总价。orders
orders.total_price sum of multiplications qt*unit_price
对 items 表的SELECT
查询非常简单,并且可以很好地为同一 order_id 中的所有项目提供总和:
SELECT SUM(items.qt*items.unit_price) from items GROUP by items.order_id
但我不能在我的ORDERS
表中插入这个值。我无法完成这项工作:
UPDATE orders, items SET orders.total_price = (SELECT SUM(items.qt*items.unit_price)
FROM items GROUP BY items.order_id) WHERE orders.id = items.order_id
它返回"Subquery returns more than 1 row"
我在这里发现了一个非常相似的问题,但答案对我也不起作用:
UPDATE orders SET orders.t_price = (SELECT SUM(items.qt*items.unit_price) from items WHERE orders.id = items.order_id)