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

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

用如下方法:

如有以下两张表:

现要将test1表中的id字段求和,然后与test2表中的id相减,可用如下语句:

select a.id,a.id-b.id from
test2 a,
(select sum(id) id from test1) b

查询结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
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(+);本回答被提问者采纳
相似回答