簡體   English   中英

在CTE SQL Server 2012之前創建#temp

[英]Creating #temp before CTE SQL Server 2012

我需要在CTE:s列表開始之前創建一個#temp表,以便最終可以使用它執行計算。

到目前為止,這是我寫的:

SELECT DISTINCT

SUM(X+Y) AS Total

INTO #Summary
FROM Table

WITH CTE_START AS
(
  SELECT DISTINCT *
  FROM TableX
)

....

我什至嘗試將我的#Summary創建為CTE,然后在FROM之前編寫INTO。 這是行不通的。

我在以下方面看過類似的問題: CTE&Temp表

我沒有發現任何幫助。 在我的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM