如何在Access中执行if语句?

时间:2010-11-11 20:48:36

标签: sql ms-access

我有我的角色表(对我来说计划不周),它由4个字段组成:role_name,type1,type2,type3。

每个typeX的Y表示是,N表示否。

示例数据:

Hero, Y, N, N
Human, N, Y, N
Dog, Y, N, N

我希望我的输出为:

Hero Type1
Human Type2
Dog Type1

帮助?请!

2 个答案:

答案 0 :(得分:1)

您需要使用IIF语句,在您的情况下,您必须嵌套它们。 类似的东西:

select role_name,
    iif(type1 = "Y", "Type1", iif(type2 = "Y", "Type2", iif(type3 = "Y", "Type3", "unknown")))
from roles

答案 1 :(得分:0)

您可以使用嵌套的IIF statements来实现此

SELECT role_name, iif(type1='Y', "Type1", 
                  iif(type2='Y', "Type2", "Type3"))
FROM roles

或者如果您想知道没有分配任何类型

SELECT role_name, iif(type1='Y', "Type1", 
                  iif(type2='Y', "Type2", 
                  iif(type3='Y', "Type3", "N/A")))
FROM roles

然而,这确实假设你永远不会有多种类型的人......