1

Excel で MS Query を使用して、次のクエリを実行しています。

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

列 egchid を含む表 fgledg があります。特定のバウチャー (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

私は何を間違っていますか?

4

1 に答える 1

0

のスペルを確認してくださいegachid。列名はEGCHID->「A」ではありません。それ以外の場合は、次を試すことができます:

SELECT CASE WHEN egachid CONTAINS 'GCAJA0' THEN False ELSE True END AS name
于 2016-08-12T12:51:48.477 に答える