(需要将代码兼容到Access 2003)
道歉,如果这是“哇!”时刻(仍然在学习)...作为SELECT语句的一部分,我有以下字段Total
,其目的是为每条记录计算4个先前字段的总和。如果总和<1000则将“0”值传递给“总计”,如果不是,则传递实际总和。
总结我们:
,IIf(
Switch(……) +
Switch(……) +
Switch(……) +
Switch(……)<1000,0,
Switch(……) +
Switch(……) +
Switch(……) +
Switch(……))
AS Total
在其扩展版本中它确实有效,但是,这看起来很麻烦,因为它意味着必须重复两次初始的4次切换条件(如果<1000则一次,如果不是则再次一次)。
有没有办法减少这个?
答案 0 :(得分:1)
一种方法是使用子查询:
select iif(val < 1000, 0, val)
from (select x.*, (switch() + . . . + switch()) as val
from x
) as x1;