MS ACCESS 子查询不工作 - "At Most one record can be returned by this subquery"(从 T-SQL 转换)
MS ACCESS Subquery not working - "At Most one record can be returned by this subquery" (convert from T-SQL)
我正在尝试将一些 SQL 代码移动到 Access(这样同事们就可以 运行 在我度假的时候!)
我原来的 SQL (MSSQL) 是一个非常基本的子查询:
Select Customer_code,
(SELECT TRIM(EMail) where Email != 'Not Set') AS EMAIL_1
From customers
(不是完整代码!)
但是,Access 不喜欢这样,似乎需要在子查询中使用“FROM”子句。
所以如果我使用 (SELECT TRIM(EMail) FROM Customer where Email <> 'Not Set') AS EMAIL_1
然后我收到“此子查询最多可以返回一条记录”错误消息。
子查询在 SSMS 中工作正常,但我不知道如何修改它以进行访问。
感谢任何帮助(我试图查看其他问题,但 none 似乎与我正在尝试做的事情完全相关)。这里还有另一个子查询,但我已经单独测试过,它们都以同样的方式出错。
提前致谢
这个没有 from
子句的子查询没有什么意义,即使在 SQL 服务器中也是如此:它所做的只是检查当前行上 email
的值,所以它是等价的到 case
表达式。在 MS Access 中,您可以只使用 iif()
:
select customer_code, iif(email <> 'Not Set', trim(email), null) as email_1
from customers
我正在尝试将一些 SQL 代码移动到 Access(这样同事们就可以 运行 在我度假的时候!)
我原来的 SQL (MSSQL) 是一个非常基本的子查询:
Select Customer_code,
(SELECT TRIM(EMail) where Email != 'Not Set') AS EMAIL_1
From customers
(不是完整代码!)
但是,Access 不喜欢这样,似乎需要在子查询中使用“FROM”子句。
所以如果我使用 (SELECT TRIM(EMail) FROM Customer where Email <> 'Not Set') AS EMAIL_1
然后我收到“此子查询最多可以返回一条记录”错误消息。
子查询在 SSMS 中工作正常,但我不知道如何修改它以进行访问。
感谢任何帮助(我试图查看其他问题,但 none 似乎与我正在尝试做的事情完全相关)。这里还有另一个子查询,但我已经单独测试过,它们都以同样的方式出错。
提前致谢
这个没有 from
子句的子查询没有什么意义,即使在 SQL 服务器中也是如此:它所做的只是检查当前行上 email
的值,所以它是等价的到 case
表达式。在 MS Access 中,您可以只使用 iif()
:
select customer_code, iif(email <> 'Not Set', trim(email), null) as email_1
from customers