2016-12-06 102 views
1

enter image description hereAccess查詢減去2不同的列從不同的行中相同的表相同的ID

我有一個表deposit具有柱Refund_amtDeposit_amt具有相同GR_no不同的行。在這裏我的問題是,我想從Refund_amt 減去deposit_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列:

enter image description here

謝謝

+2

你能給我想要的結果嗎 –

回答

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; 
+0

謝謝.yeah我真的只想這個 – Mamta