下图显示了一个帐户表和我想要计算的结果。也就是说,每次帐号是106844,结果是“MESSAGE”或“ESCALATION EMAIL”,应计为1,其他任何结果都计为0.我通常会做的是一堆可怕的IIFs,如有没有比嵌套的iifs更容易的方法来计算SQL服务器中的不匹配条件
sum(iif([account] = '106719' and [Outcome] in ('MESSAGE','ESCALATION_EMAIL'),1,iif([account] = '310827' and [outcome] <> 'ABORT' and 'CALL_OUTCOME_LB' in ("Call patched to Customer Care","Message Taken"),1,iif(... , 0) as [Total Outcomes]
等等,但是男人觉得必须有一个更简单的方法,或者更少一个在第7个嵌套iif中随机犯一个错误,并搞乱整个事情。有任何想法吗?
正是我所追求的,也是一个有用的提示。谢谢。 – tomdemaine
@GordonLinoff我没有看到两者之间的功能差异,而我所做的小型性能测试显示完全没有区别。如果有一个_need_是ANSII的标准,那就这样吧;然而,大多数时候不需要它,编写查询的一般规则是增强人的可读性 - 这是我使用显着缩短的IIF语法的情况。 – Eli