【发布时间】:2015-10-11 20:21:38
【问题描述】:
LedgerId AccountId EntryType Debit Credit
2 2 D 50000.00 NULL
3 2 D 10000.00 NULL
4 2 C NULL 25000.00
6 2 C NULL 10000.00
7 2 D 89000.00 NULL
8 2 D 89000.00 NULL
10 3 D 715871.00 NULL
以下查询计算Balance:
Select Accounts.ID [AccountID],Name,AccountType [AccountType], SUM(Debit) - SUM(Credit) [Balance] FROM Accounts
join Dealers on Accounts.DealerId = Dealers.ID
join Ledger on Accounts.ID = Ledger.AccountId
GROUP BY Accounts.ID, Name, AccountType
然后它返回:
AccountID Name AccountType Balance
2 Mateen P 203000.00
3 Shery P NULL
预期输出:
AccountID Name AccountType Balance
2 Mateen P 203000.00
3 Shery P 715871.00
帐户 3 的 Balance 为 Null,当从 null 中减去任何内容时,它返回 null。
例如:
select 5 - NULL
返回NULL。
问题:现在,我怎样才能得到Balance 而不是NULL?
【问题讨论】:
标签: sql sql-server conditional-statements