テーブルの1つで列を更新する際に問題が発生しました。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);
私のクエリはすべての注文の総コストを返します、そしてそれは私が私のテーブルに持ちたいものです。「単一行のサブクエリが複数の行を返す」というエラーが発生します。何が間違っているのかわからない、何か提案はありますか?