这可能是一个简单的问题,但这是我以前从未见过的答案。有没有办法使用if语句的条件作为其值?在进行大量计算以确定是否满足某个条件的情况下,这将非常有用,如果是,那么计算就是结果。
举个例子:
if ( [intense calculation] > 0, [same intense calculation], 0)
我特别感兴趣的是SQL,因为我现在正在使用Access中的报表,因此无法将强烈计算的结果存储在变量中。
答案 0 :(得分:6)
不确定MS Access报告世界中是否存在这样的概念,但如何:
MAX([intense calculation], 0)
这种方法的明显好处是计算只需要进行一次。
答案 1 :(得分:0)
大多数SQL形式的一种方法是将主查询移动到子查询,在新的外部查询中使用强化计算列别名并进行测试 - 如下所示:
select v.*,
case intense_calc > 0 then intense_calc else 0 end as positive_calc
from (select [intense calculation] as intense_calc,
[other columns]
from ...) as v