2016-08-12 55 views
1

我使用MS查詢在Excel中執行以下查詢:MS Excel的查詢表達式IIF語​​法錯誤

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 

,我想我的查詢返回true,如果列egchid含有比GCAJA0其他價值和虛假如果列只包含值GCAJA0,但無論我如何編寫語法,都會收到錯誤消息。它似乎至少接受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

檢查您的拼寫egachid。列名是EGCHID - 「沒有「A」 否則,您可以嘗試:

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

丹尼爾嗨, 你compleately說得對拼寫,但是,我得到同樣的錯誤消息。 MS Excel Excel不支持CASE WHEN功能。這就是爲什麼我不能使用它。 – Lily

+0

嘗試'選擇IFF(EGCHID CONTAINS'GCAJA0',假,真)'您通常不希望使用<>作爲字符串。否則,使用'EGCHID LIKE'GCAJA0'',如果你確定字符串正是那個。 –

+0

沒有工作。我嘗試了兩種(CONTAINS和LIKE)。它似乎不接受任何條件... :( 我想我只是要下載的WinSQL,並做CASE當選項 謝謝反正!:) – Lily

相關問題