试着弄清楚如何在MS Access中写这个我看到一个论坛谈论IIF语句,但我真的无法让它工作。
SELECT
case
when count(case when f.preferred_flg = 'Y' then 1 end) > 0 then 'Y'
else 'N'
end as "Indicator = Y",
case
when count(case when f.preferred_flg = 'N' then 1 end) > 0 then 'Y'
else 'N'
end as "Indicator = N"
FROM il_Product f
答案 0 :(得分:0)
iif
是MS Access的等价物,此处的其他响应可以帮助您实现这一点。但还有另一种我偶然发现的选择:SWITCH
。我想我之前并不知道这一点,因为自Access 2003以来我没有认真使用MS Access。以下是如何调用它:
SWITCH(<condition1>, <output1> [, <condition2>, <output 2>, ... ])
如果没有条件成立,则返回NULL
。如果您想要默认值,请创建最后一对参数TRUE, <Default Output>
。
当我写这篇文章时,Microsoft支持文章就是here。
答案 1 :(得分:0)
可以做得更简单:
SELECT
IIF(ABS(SUM(f.preferred_flg = 'Y')) > 0, 'Y', 'N') AS [Indicator = Y],
IIF(ABS(SUM(f.preferred_flg = 'N')) > 0, 'Y', 'N') AS [Indicator = N]
FROM
il_Product AS f