我在更新我的一个表中的列时遇到问题。我有一个名为 ORDERS 的表,我在表中添加了一个新列,表示订单的总成本。我通过使用计算成本的查询来获得总成本。现在我正在尝试使用该选择查询来使用更新来填充表中的该列。这就是我所拥有的:
update ORDERS
set TOTAL_COST = (
select sum((p.COST*i.QUANTITY)*(1-o.DISCOUNT))+delivery(o.DELIVERY) as TOTAL_COST
from PRODUCT p, ITEM i, ORDERS o
where p.ID_PRODUCT = i.ID_PRODUCT and i.ID_ORDER = o.ID_ORDER
group by o.ID_ORDER, o.DISCOUNT, o.DATE, o.DELIVERY);
我的查询返回每个订单的总成本,这就是我想要在我的表中拥有的。我收到“单行子查询返回多行”错误。我不知道我做错了什么,有什么建议吗?