有没有更好的方法用Access SQL做多或条件IIF语句?

时间:2019-01-25 14:28:48

标签: sql ms-access

我在访问查询中有一个IIf语句计算字段,该字段使用多个OR条件检查同一列。

随着这个列表的增加,有没有比我知道的更好的方法了,我不想不必继续创建一条不断增长的线。

任何建议将不胜感激。

IIF (field1 = "NAME 1" OR field1 = "NAME 2" OR field1 = "NAME 3" 
OR field1 = "NAME 4" OR field1 = "NAME 5" 
OR ... Continue to all names added, "True", "False")

1 个答案:

答案 0 :(得分:3)

是的,您可以执行一个简单的IN语句:

IIF (field1 IN("NAME 1", "NAME 2", "NAME 3", "NAME 4","NAME 5"), "True", "False")

或者,您可以创建具有允许名称的表,并测试field1是否在该表中:

IIF (Exists(SELECT 1 FROM TableNames WHERE Field1 = TableNames.Name), "True", "False")

我建议第二种方法,如果要在多个地方使用的东西很多,则应将其存储在表中,而不是将其复制粘贴。