在ORACLE中如何将一个表中某字段值合计与另一个表的某字段值相减

时间:2023-03-28 12:29:44

现在有两个表,A表字段AMOUNT为发票金额,B表字段REV为收款金额,两表通过字段id关联,需将A表的字段AMOUNT与B表的字段REV相减, 但是A表表示的发票可能对应多个B表的收款金额,如何将A表的AMOUNT与对应的B表的多个REV值的和相减,得到未收款金额

select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result

  from a,

       (select b.id,sum(b.REV) REV

          from b

         group by b.id) b

where a.id=b.id(+);