2016-03-14 57 views
0

我有這樣的一個表中的數據:SQL服務器2012 - 奧德通過借記卡,信用卡

TranNo Acc No  Bal Acc  Debit  Credit 
1   511   131     1000 
    1   521   131   200 
    1   333   131      80 
    1   131   511  1000 
    1   131   521      200 
    1   131   333   80 

有沒有一種方法來選擇數據和爲了這個樣子?我正在使用SQL Server 2012.謝謝!

TranNo Acc No  Bal Acc  Debit  Credit 
1   131   511  1000 
    1   511   131     1000 
    1   521   131   200 
    1   131   521      200 
    1   131   333   80 
    1   333   131      80 

回答

0

我是這麼認爲的。我認爲按照最小和最大的賬戶進行排序會得到你想要的配對。然後,額外的邏輯獲得貸方之前的借方:

select t.* 
from table t 
order by (case when accno < balacc then accno else balacc end), 
     (case when accno < balacc then balacc else accno end), 
     (case when debit > 0 then 1 else 0 end); 
+0

非常感謝!有用!!! – smackdun

相關問題