我认为如果condtion为true或false,则IIf语句返回一个值但是Access中的这个IIf语句返回字段并且它返回值。
IIf([A1]![KPr],[A1]![Kat],IIf([Data2]![Kat],[Data2]![Kat],[Data1]![Kat])),
表左边加入了from子句
我尝试使用SQL Server
在CASE WHEN
中实现此声明,但它也接受真或假的条件。
我如何理解并实现这一陈述。
答案 0 :(得分:1)
VB,VBA和Access中的IIf函数与注释中的ps_prakash02相同:iif(condition, value_if_true, value_if_false)
。这意味着如果条件的计算结果为true,则返回value_if_true
,否则返回value_if_false
因此,将IIf转换为t-sql只是CASE WHEN condition THEN value_if_true ELSE _value_if_false END
。
我不太确定[A1]![KPr]
在访问中意味着什么,我猜它是表A1的KPr列值或类似的东西,所以我会留下它们在你的问题中并且只是替换它们在我的回答中IIF
与CASE
:
CASE WHEN [A1]![KPr] THEN [A1]![Kat]
ELSE
CASE WHEN [Data2]![Kat] THEN [Data2]![Kat]
ELSE [Data1]![Kat]
END
END