SQL:IF语句Access 2010

Jur*_*nis 6 sql if-statement ms-access-2010

我试图在Access 2010中编写一个查询.我有一个表:

功率

表名是power.我试着写IF语句:

Select IIf(power.gain_type = 'D', power.gain_max + 2.15)
Run Code Online (Sandbox Code Playgroud)

如果gain_type等于D,则gain_max总和为2.15

例如:

14.8 + 2.15 = 16.95.

提前致谢!

Ric*_*iwi 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
Run Code Online (Sandbox Code Playgroud)

或嵌套/链接IIF

Select power.gain_max + IIf(power.gain_type='D', 2.15,
                        IIf(power.gain_type='I', -2.15, 0))
from power
Run Code Online (Sandbox Code Playgroud)

原版的

这就是选择

Select IIf(power.gain_type='D', power.gain_max+2.15, power.gain_max)
from power
Run Code Online (Sandbox Code Playgroud)

你想要更新吗?

update power
set gain_max = gain_max+2.15
where gain_type='D'
Run Code Online (Sandbox Code Playgroud)

您还可以在Access中使用TRUE = -1的事实

Select power.gain_max-2.15*(power.gain_type='D')
from power
Run Code Online (Sandbox Code Playgroud)

参考