IIF使用类似标准时

时间:2015-08-23 16:43:50

标签: ms-access iif

他们是两个不同的jobstatuses,我想以相同的方式显示,我的IIF语句更改显示,但我想只返回一个条目。例如,我希望它像这样显示

JobStatus
---------
Inactive
Let Go

但是我得到的返回结果集是

JobStatus
---------
Active
Inactive
Let Go
Let Go

我需要在查询中更改哪些内容以使其显示为我需要的内容? (我需要通过查询而不是vba来完成)

jobstatus1: IIf([jobstatus]="Terminated","Let Go",IIf([jobstatus]="Fired","Let Go",[jobstatus]))

编辑 - 完整语法。我需要使用的IIF语句是alpha.jobstatus

之后的Select
SELECT alpha.jobstatus, Count(beta.ID) AS CountOfID
FROM alpha LEFT JOIN beta ON alpha.jobstatus = beta.jobstatus
GROUP BY alpha.jobstatus, alpha.order
HAVING (((alpha.jobstatus) Not In (Select [jobstatus] From tbl_Valid)))
ORDER BY alpha.order;

1 个答案:

答案 0 :(得分:1)

使用SELECT DISTINCT仅返回不同的值。

此外,您可以为该计算字段使用更简单的表达式 - 一个只有一个IIf而不是嵌套IIf' s。将查询切换到SQL视图并将语句文本的开头修改为此...

SELECT DISTINCT IIf([jobstatus] IN ('Terminated', 'Fired'), 'Let Go', [jobstatus]) AS jobstatus1