我试图在Access 2010中编写一个查询。我有一个表:
表名为power
。我试着写IF语句:
Select IIf(power.gain_type = 'D', power.gain_max + 2.15)
如果gain_type等于D,则gain_max总和为2.15
例如:
14.8 + 2.15 = 16.95。
提前致谢!
答案 0 :(得分:8)
现在我想知道如何插入ELSEIF语句。 “IF(gain_type ='D'){gain_max + 2.15} ELSEIF(gain_type ='I'){gain_max-2.15} ELSE {gain_max}
您可以使用SWITCH
Select power.gain_max + Switch(power.gain_type='D', 2.15,
power.gain_type='I', -2.15,
true, 0)
from power
或嵌套/链接IIF
Select power.gain_max + IIf(power.gain_type='D', 2.15,
IIf(power.gain_type='I', -2.15, 0))
from power
这是选择
Select IIf(power.gain_type='D', power.gain_max+2.15, power.gain_max)
from power
您是否正在尝试更新?
update power
set gain_max = gain_max+2.15
where gain_type='D'
您还可以在Access
中使用TRUE = -1的事实Select power.gain_max-2.15*(power.gain_type='D')
from power
参考
答案 1 :(得分:1)
语法为iif(condition, value_if_true, value_if_false)
。如果你添加第三个参数,你应该没问题:
IIf(power.gain_type='D',
power.gain_max+2.15,
power.gain_max)
答案 2 :(得分:0)
结果:IIf([gain_type] =“D”,[gain_max] +2.15,[gain_max])