我有这样的表数据:
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 :(得分: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);