T-SQL Sum IIf query -


    select t1.detail_date clmdate     ,t1.detail_agentid clmpid     ,t3.hodcode clmhod     ,t1.detail_callshandled clmibconnects     ,t1.detail_talktime clmibtalk     ,t1.detail_wraptime clmibwrap     ,t1.detail_holdtime clmibhold     ,t1.detail_handletime clmibtotal     ,sum(iif([fldcallroute.value] = [inbound],0)) clmibconnects --  ,sum(iif([fldcallroute] = "inbound", [clmtalk], 0)) ibtalk --  ,sum(iif([fldcallroute] = "inbound", [clmwrap], 0)) ibwrap --  ,sum(iif([fldcallroute] = "inbound", [clmtalk] + [clmwrap] + [clmhold], 0)) ibtotal     ,sum(0) clmobsignedon     ,sum(0) preview     ,sum(0) obtalk     ,sum(0) obupdate     ,sum(0) obwork     ,sum(0) obconnects --  ,sum(iif([fldcallroute] = "inbound", [clmhold], 0)) ibhold --  ,sum(iif([fldcallroute] = "outbound", [clmhold], 0)) obhold} 

i not getting sum(iif.. part of queries more specifically: ,sum(iif([fldcallroute] = "inbound", [clmibconnects], 0)) clmibconnects

it shows invalid column name 'inbound' invalid column name 'clmibconnects'?

fldcallroute column in table t2 has entries inbound i'm not sure why saying column name inbound?

you need single quotes string constants:

sum(iif([fldcallroute] = 'inbound', [clmtalk], 0)) ibtalk, 

i have preference case on iif(). case ansi standard , available in databases:

sum(case when fldcallroute = 'inbound' clmtalk else 0 end) ibtalk, 

Comments

Popular posts from this blog

AbotX : How do you create a parallel crawler that stays on and can be added to at run time from new requests -

testing - Detect whether test has failed within fixture -

android - Create single AAR file from multiple modules using Gradle -