对 SQL Server 中的 SUM 函数应用 OR 条件

2021-09-10 00:00:00 sql tsql sql-server

我有 2 列名为 DebitCredit.我想从一列中获取值并将其放入第三列 Balance.我想应用一个条件,如果 Debit 包含任何值,它应该放在 Balance 列中,如果 Credit 有东西,那么它应该在列中插入那个值,但如果两者都有一些值,那么只有一个应该去那里,DebitCredit.

I have 2 columns named Debit and Credit. I want to get the value from one column and put in the third column, Balance. I want to apply a condition that if Debit contains any value, it should be put in the Balance column, and if Credit has something, then it should insert that value in the column, but if both have some values in them, then only one should go there, either Debit or Credit.

Debit    Credit     Balance
------------------------------
1000     NULL       1000
2200     NULL       2200
NULL     3000       3000
1500     1500       1500

查询:

SELECT 
       Debit, Credit, SUM(Credit|Debit) AS Balance
FROM Table

推荐答案

比如COALESCE()就够了

SELECT Debit, Credit, COALESCE(Credit, Debit) AS Balance
FROM Table

相关文章