MS Query Excel iif表达式语法错误

时间:2016-08-12 11:23:20

标签: excel ms-query

我在Excel中使用MS Query执行以下查询:

select 
iif(egachid <>'GCAJA0', True, False)
from fgledg
where egcono='1'and egdivi='D30'and egvono=51166554

我有一个tabel,fgledg,包含一个列,egchid。对于特定的凭证(egvono = 51166554),我得到以下行:

EGCONO    EGDIVI    EGYEA4  EGVONO      EGCHID
1         D30       2015    51166554    GCAJA0
1         D30       2015    51166554    GCAJA0
1         D30       2015    51166554    GCAJA0
1         D30       2015    51166554    GCAJA0
1         D30       2015    51166554    SEBSHHASP
1         D30       2015    51166554    SEBSHHASP
1         D30       2015    51166554    SEBSHHASP

如果列egchid包含除GCAJA0之外的其他值,我希望我的查询返回True;如果列只包含值GCAJA0,我希望返回false,但无论我如何编写语法,我都会收到错误消息。它似乎至少接受了iif函数,但语法不正确?

我尝试过编写语法的不同变体,但收到以下错误消息:

IIf(egachid <>'GCAJA0', True, False)        Token <> was not valid
IIf(egachid = 'GCAJA0', False, True)        Token = was not valid
IIf([egachid] <>'GCAJA0', True, False)      Token [ was not valid
IIf([egachid] <>'GCAJA0', 'True', 'False')  Token [ was not valid

我做错了什么?

1 个答案:

答案 0 :(得分:0)

检查egachid的拼写。列名称为EGCHID - &gt;没有&#34; A&#34; 否则你可以尝试:

SELECT CASE WHEN egachid CONTAINS 'GCAJA0' THEN False ELSE True END AS name