Есть ли лучший способ сделать Multiple OR Condition IIF заявление с Access SQL? - PullRequest
0 голосов
/ 25 января 2019

У меня есть вычисляемое поле оператора IIf в моем запросе доступа с использованием нескольких OR условий, проверяющих один и тот же столбец.

Есть ли способ лучше, чем то, что у меня есть ниже, я знаю, что этот список растет, и я бы не хотел продолжать создавать постоянно растущую линию.

Буду признателен за любой совет.

IIF (field1 = "NAME 1" OR field1 = "NAME 2" OR field1 = "NAME 3" 
OR field1 = "NAME 4" OR field1 = "NAME 5" 
OR ... Continue to all names added, "True", "False")

1 Ответ

0 голосов
/ 25 января 2019

Да, вы можете сделать простой оператор IN:

IIF (field1 IN("NAME 1", "NAME 2", "NAME 3", "NAME 4","NAME 5"), "True", "False")

В качестве альтернативы, вы можете создать таблицу с разрешенными именами и проверить, находится ли field1 в этой таблице:

IIF (Exists(SELECT 1 FROM TableNames WHERE Field1 = TableNames.Name), "True", "False")

Я рекомендую второй подход, если у вас есть длинный список вещей, которые вы хотите использовать в нескольких местах, вы должны хранить его в таблице, а не копировать и вставлять его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...