我在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
我做错了什么?
答案 0 :(得分:0)
检查egachid
的拼写。列名称为EGCHID
- &gt;没有&#34; A&#34;
否则你可以尝试:
SELECT CASE WHEN egachid CONTAINS 'GCAJA0' THEN False ELSE True END AS name