MS Access SQL中的情况

时间:2019-02-27 13:24:46

标签: sql ms-access

我正在使用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 :(得分:1)

您还可以通过以下方式使用Choose函数:

/{entity}/{property}

答案 1 :(得分:0)

使用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声明为任何类型的数字,请在比较中删除单引号。

答案 2 :(得分:0)

如果您的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")))