如何在SQL选择查询中添加“或”?

时间:2019-06-05 03:43:36

标签: sql sql-server sql-server-2014

我正在创建一个报告,以获取特定时期内客户明智的收款。可以通过支票,直接银行转账,现金接收付款。此付款保存在数据库中的单独列中,例如“ CheckSum”列中的支票,“现金总额列”中的现金额。

我的问题是如何从任何一种付款类型中获取付款金额到单个列中。查询后,我通常会获取值,然后在其中添加“或”来获得想法。

select 
    convert(varchar, a.DocDate, 110) as DocDate,
    a.CardCode, a.CardName, d.SlpName, e.CheckNum,
    (CashSum or CreditSum or CheckSum or TrsfrSum) as DocTotal 
from 
    ORCT a
left join 
    RCT2 b on b.DocNum = a.DocNum
left join 
    OINV c on c.DocNum = b.DocEntry
left join 
    OSLP d on d.SlpCode = c.SlpCode
left join 
    RCT1 e on e.DocNum = a.DocEntry

最终输出应显示如下

enter image description here

1 个答案:

答案 0 :(得分:1)

下面的表达式应该执行此操作(假设其他列为NULL或零):

ISNULL(CashSum,0) + ISNULL(CreditSum,0) + ISNULL(CheckSum,0) + ISNULL(TrsfrSum,0) as DocTotal