use*_*575 -1 sql sql-server sql-server-2012
我需要在我的CTE列表之前创建一个#temp表:s,这样我最终可以用它来执行计算.
这是我到目前为止所写的:
SELECT DISTINCT
SUM(X+Y) AS Total
INTO #Summary
FROM Table
WITH CTE_START AS
(
SELECT DISTINCT *
FROM TableX
)
Run Code Online (Sandbox Code Playgroud)
....
我甚至尝试将我的#Summary创建为CTE,然后在FROM之前编写INTO.这是行不通的.
我看过类似的问题:CTE和临时表
我没有找到任何有用的东西.如何在WITH CTE_START开始处理之前创建一个#temp表?
您需要使用分号在CTE之前终止语句,否则SQL Server不知道WITH它不是前一个语句的一部分,例如表提示的一部分.
例如:
SELECT DISTINCT SUM(X+Y) AS Total INTO #Summary FROM Table;
WITH CTE_START AS ( SELECT DISTINCT * FROM TableX )
SELECT * FROM CTE_START
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |