我正在创建一个报告,以获取特定时期内客户明智的收款。可以通过支票,直接银行转账,现金接收付款。此付款保存在数据库中的单独列中,例如“ 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
最终输出应显示如下
答案 0 :(得分:1)
下面的表达式应该执行此操作(假设其他列为NULL或零):
ISNULL(CashSum,0) + ISNULL(CreditSum,0) + ISNULL(CheckSum,0) + ISNULL(TrsfrSum,0) as DocTotal