如何在Access中使用WITH语句?

qua*_*ant 6 t-sql ms-access

我正在使用 Access,并希望通过命名SELECT语句来简化我的一些查询。WITH但是,由于某种原因我无法使用该语句。我尝试运行以下简单示例来说明问题:

WITH T1 AS
(
SELECT * FROM [Transactions]
)
SELECT * FROM T1;
Run Code Online (Sandbox Code Playgroud)

哪里Transactions有日期和金额表。当我运行此查询时,出现以下错误:

无效的 SQL 语句;应为“DELETE”、“INSERT”、“PROCEDURE”、“SELECT”或“UPDATE”

我究竟做错了什么?

小智 4

正如其他人在评论中所述,Access SQL不像 TSQL 那样支持with关键字。通过编写第一个查询并保存它,您可以完成几乎相同的事情。然后可以在 Access SQL 中引用保存的查询,就像它是一个表一样(类似于在 TSQL 中创建视图)。

其他人还指出,VBA 可以使用with关键字,但目的不同。