sql - Access 2013 : Why am I getting this Syntax Error?

标签 sql ms-access syntax-error ms-access-2013

在添加 case 语句之前,我没有收到错误。如果 H1 或 H2 手机字段为空或为空,我需要添加案例语句以提供家庭电话号码作为备份(作为新手,我知道如何做到这一点的最佳方法)。由于某种原因,我在查询表达式中收到语法错误(缺少运算符)。它指出了两个 case 语句的错误。据我所知,它们写得正确......有人知道怎么回事吗?谢谢。

SELECT [H1 Last Name] & ", " & [H1 First Name] as [Full Name],[H1 E-Mail]
CASE
     WHEN [H1 Cell Phone] IS NULL
     THEN [Home Phone]
     ELSE [H1 Cell Phone] END as [Phone]

FROM NameLookup 
WHERE (((NameLookup.[H1 Last Name]) NOT LIKE '%SPEC%') OR ((NameLookup.[H1 Last Name]) NOT LIKE '%MODEL%')) AND ((NameLookup.[H1 Last Name]) IS NOT NULL)

UNION

SELECT [H2 Last Name] & ", " & [H2 First Name] as [Full Name],[H2 E-Mail]
CASE
     WHEN [H2 Cell Phone] IS NULL
     THEN [Home Phone]
     ELSE [H2 Cell Phone] END as [Phone]

FROM NameLookup 
WHERE (((NameLookup.[H1 Last Name]) NOT LIKE '%SPEC%') OR ((NameLookup.[H1 Last Name]) NOT LIKE '%MODEL%')) AND ((NameLookup.[H1 Last Name]) IS NOT NULL)


Order By 1;

最佳答案

您在 MS Access ACE 中使用它吗?大小写不可用,请使用 IIF(argument, true value, false value)

SELECT [H1 Last Name] & ", " & [H1 First Name] as [Full Name],[H1 E-Mail],
IIF ( [H1 Cell Phone] IS NULL, [Home Phone], [H1 Cell Phone] ) AS Phone
FROM NameLookup 

Access SQL 函数:http://www.techonthenet.com/access/functions/

关于sql - Access 2013 : Why am I getting this Syntax Error?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22244110/

相关文章:

sql - 在 Access 的事件过程中运行查询?

ms-access - 将超过 550000 行的巨大 CSV 文件导入 Access

android - Sqlite异常,语法错误

java - 尝试添加在IF语句中实现的列表时出错

linux - 尝试在弹性 beanstalk 中添加盐和键作为环境变量(语法错误)

mysql - SQL:如何按两列的唯一组合进行分组?

sql - Oracle SQL : Return a string based on which column has the highest value

sql - 如何在 SELECT INTO 之后保留数据类型?

php - 插入表并返回分配的自动增量 ID

ms-access - 如何使用VBA循环删除多个表中的所有记录? Access 2010