Ari*_*x66 10 sql-server common-table-expression
我想将此查询的结果存储到临时表中:
WITH cOldest AS
(
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY [MyKey] ORDER BY SomeColumn DESC) AS rnDOB
FROM MyTable
)
SELECT
C.*
*** Insert into #MyTempTable *** This part doesn't work
FROM
cOldest C
WHERE
C.rnDOB = 1
Run Code Online (Sandbox Code Playgroud)
提前致谢.
mar*_*c_s 21
假设这是针对SQL Server的:CTE只适用于一个语句 - 所以你不能同时使用a SELECT和INSERT- 只需使用INSERT:
WITH cOldest AS
(
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY [MyKey] ORDER BY SomeColumn DESC) AS rnDOB
FROM MyTable
)
INSERT INTO #MyTempTable(Col1, Col2, ....., ColN)
SELECT Col1, Col2, ...., ColN
FROM cOldest C
WHERE C.rnDOB = 1
Run Code Online (Sandbox Code Playgroud)
这要求#MyTempTable已经存在.如果要SELECT使用 - 创建它- 请使用以下语法:
WITH cOldest AS
(
.....
)
SELECT c.*
INTO #MyTempTable
FROM cOldest c
WHERE C.rnDOB = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19856 次 |
| 最近记录: |