我有一个表deposit
,其列Refund_amt
,Deposit_amt
具有不同的行GR_no
。我的问题是,我想从deposit_amt
中减去Refund_amt
列
我在查询中尝试了各种替代方案,但没有成功
我的查询:
SELECT d.Gr_no
, d.Rec_No
, d.Deposite_Amt
, d.penalty_Amt
, d.Refund_Amt - Refund
, s.Name
, s.cur_std
, cur_div
From
( select d.Refund_Amt refund
from deposite d
, std_gr s
where d.Gr_no = s.Gr_no )
结果在final total
列中显示如下:
谢谢
答案 0 :(得分:1)
您正在寻找每个std_gr的汇总:存款总和减去退款总和。一种方法是在子查询中执行此聚合,并将此子查询连接到表。
select
d.*, sums.final_total
from deposite d
join
(
select std_gr, nz(sum(deposite_amt),0) - nz(sum(refund_amt),0) as final_total
from deposite
group by std_gr
) as sums on sums.std_gr = d.std_gr
order by d.rec_no;