2015-03-03 65 views

risposta

4

Supponendo che questo è per SQL Server: il CTE è buono solo per una economico - quindi non si può avere sia un SELECT ed un INSERT - basta usare il 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 

Ciò richiede che il #MyTempTable esiste già. Se vuoi crearlo con il SELECT - usa questa sintassi:

WITH cOldest AS 
(
..... 
) 
SELECT c.* 
INTO #MyTempTable 
FROM cOldest c 
WHERE C.rnDOB = 1 
+0

Grazie Mark! Mi sono reso conto per poter esportare la tabella Temp, deve essere una temperatura globale. In # # MyTempTable @marc_s – Ariox66