Случай, когда в MS Access SQL - PullRequest
0 голосов
/ 27 февраля 2019

Я пишу запрос с использованием MS Access SQL, а MS Access не распознает мой запрос.

Итак, я хочу получить что-то вроде этого:

If salutation = 1 Then
    salutation ='Mr'
ElseIf salutaion = 2 Then
    salutaion ='Mme'
ElseIf salutaion = 3 Then
    Salutation = 'Mlle'
Else
   Salution = 'ND'

И тогда явведите следующий запрос:

CASE WHEN (BN_CS_MP_MASTERPROFILE.CMP_SALUTATION='1') THEN 'Mr'
WHEN (BN_CS_MP_MASTERPROFILE.CMP_SALUTATION='2') THEN 'Mme'
WHEN (BN_CS_MP_MASTERPROFILE.CMP_SALUTATION='3') THEN 'Mlle'
ELSE 'ND' END

Любая помощь будет приветствоваться!

Ответы [ 3 ]

0 голосов
/ 27 февраля 2019

Если ваша версия / настройка Access не поддерживает SWITCH, рассмотрите возможность использования IIF вместо:

IFF(BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = "1", "Mr",
    IIF(BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = "2", "Mme",
        IIF(BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = "3", "Mlle", "ND")))
0 голосов
/ 27 февраля 2019

Вы также можете использовать функцию Choose следующим образом:

Nz(Choose(BN_CS_MP_MASTERPROFILE.CMP_SALUTATION,'Mr','Mme','Mlle'),'ND')
0 голосов
/ 27 февраля 2019

Использование switch:

SWITCH(BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = '1', 'Mr',
       BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = '2', 'Mme',
       BN_CS_MP_MASTERPROFILE.CMP_SALUTATION = '3', 'Mlle'
       1=1, 'ND'
      )

Примечание. Если CMP_SALUTATION объявлено как число любого типа, удалите одинарные кавычки в сравнении.

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