您好我现在有一个ID列和一个数量列。 如果金额为正数,则值表示为借方。如果金额为负数,则为积分。我想知道我怎么能"分裂"我的金额专栏。
Select * from Test.dbo.Accounts
可生产
ID | Amount
1 | 500
2 | -600
因此,第1项是借方,第2项是贷方。我想查询数据库,以便显示如下
ID | Debit | Credit
1 | 500 | null
2 | null |-600
答案 0 :(得分:4)
您可以使用案例陈述来查找金额所属的列:
SELECT id ,
CASE WHEN amount >= 0 THEN amount
ELSE NULL
END AS debit ,
CASE WHEN amount < 0 THEN amount
ELSE NULL
END AS credit
FROM Test.dbo.Accounts
我假设0应该进行借记,但那是你的电话。
答案 1 :(得分:1)
Select ID, Amount as Debit, null as Credit
From Account
Where Amount >= 0
Union All
Select ID, null as Debit, Amount as Credit
From Account
Where Amount < 0