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
的Balance
爲賬戶3是空的,它返回null
當涉及從null
減去任何東西。
例如:
select 5 - NULL
返回NULL
。
問題:現在,我怎樣才能得到Balance
而不是NULL
?
最新的DIFF B/w'isnull'和'coalesce'? – Shaharyar
@Shaharyar:[這裏是一篇很好的文章](http://sqlmag.com/t-sql/coalesce-vs-isnull) – potashin