我想知道这是否可能。我有一个现有查询,它使用 WITH
子句将一些聚合数据应用于 SELECT
查询,如下所示:(大量简化)
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
我现在想把 INSERT
这个查询的结果放到另一个表中。
我尝试了以下方法:
INSERT INTO tablea(a,b)
;WITH alias (y,z)
AS
(
SELECT y,z FROM tableb
)
SELECT y, z FROM alias
但我得到了错误:
’;’ 附近的语法不正确。
因此,我尝试不使用分号,但出现错误:
关键字“WITH”附近的语法不正确。
关键字“with”附近的语法不正确。如果此语句是公用表表达式或 xmlnamespaces 子句,则前面的语句必须以分号结束。
我正在尝试用不同的一些不同的语法来做可能的事情吗?
原文由 Macs Dickinson 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要将
INSERT INTO
放在CTE
之后。所以代码将是:请参阅 带有演示的 SQL Fiddle