Я использую MS Query в Excel, чтобы выполнить следующий запрос:MS Query 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
Я хотел мой запрос, возвращающий Правда, если столбец egchid содержит другие значения, чем GCAJA0 и ложно, если столбец содержит только значение GCAJA0, но я продолжаю получать сообщения об ошибках независимо от того, как я пишу синтаксис. Похоже, что он принимает функцию iif, но синтаксис неверен?
Я попытался diffrent варианты написания синтаксиса, но получить следующие сообщения об ошибках:
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
Что я делаю неправильно?
Привет Даниэль, Вы compleately правы по поводу орфографии, однако, я получаю то же сообщение об ошибке. Функция CASE WHEN не поддерживается MS Query Excel. Вот почему я не могу его использовать. – Lily
Попробуйте 'SELECT IFF (EGCHID CONTAINS 'GCAJA0', False, True)' Обычно вы не хотите использовать <> для строк. В противном случае используйте 'EGCHID LIKE 'GCAJA0'', если вы уверены, что строка будет именно такой. –
Не работает. Я попробовал оба (СОДЕРЖИТ И ЛЮБЛЮ). Кажется, что он не принимает никаких условий ... :( Я думаю, что я просто загружу WinSQL и сделаю опцию CASE WHEN. Спасибо в любом случае! :) – Lily