[英]How to create a new table with the select query results
我想將獲得的查詢( 下面公開,請參見:code )轉換為新表,以便我可以更輕松地計算和處理數據。
我知道這個問題聽起來很愚蠢,但是當我使用時:
SELECT X.*
INTO NewTable
FROM
(
SELECT .... complex query ....
FROM ...
...
) AS X
它向我發送一條錯誤消息,我該如何將我的查詢輸入上述代碼中。
錯誤:
消息156,第15層,狀態1,第10行
關鍵字“ select”附近的語法不正確。
消息156,第15層,州1,第54行
關鍵字“ from”附近的語法不正確。
碼:
SELECT *
INTO Price_to_book_valid
FROM
(
select *
from pricetobook
declare @sql nvarchar(max);
declare @fields nvarchar(max);
set @fields=stuff((select ',['+column0+']'
from dll_ptbv
where column0 not in ('Code','Mnemonic')
group by column0
order by case when column0='Name' then 0 else 3 end
,column0
for xml path('')
,type
).value('.','nvarchar(max)')
,1 ,1 ,'');
set@sql='select'+@fields
+ 'from (select column0
,column1
,sum(rn1*rn2) over(order by rn2) as rn
from (select column0
,column1
,case when column0=''Name'' then 1 else 0 end as rn1
,row_number() over(order by (select null)) as rn2
from dll_ptbv
) as a
) as a
pivot (max(column1) for column0 in ('+@fields+')) as p
order by [Name]';
execute sp_executesql @sql;
您可以在“名稱”列之前使用select INTO
SELECT * INTO NewTable
FROM
(
SELECT .... complex query ....
FROM ...
...
) p <<<<<<<< remove as
(您應該刪除a)首先,您應該分配一個表名,最終可以使用alais
-14.從動態存儲過程執行中選擇新表。
USE tempdb;
GO
-- SQL create dynamic stored procedure
CREATE PROCEDURE DynamicSprocToTempTable
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX)
SET @SQL = 'SELECT top (5) * from AdventureWorks.Purchasing.PurchaseOrderHeader
ORDER BY NEWID()'
-- Dynamic SQL
EXEC Sp_executesql @SQL
END
GO
-- Test stored procedure
EXEC tempdb.dbo.DynamicSprocToTempTable
GO
-- Select into temporary table from OPENQUERY
-- SQL select into temp table
SELECT * INTO #poh
FROM Openquery(SERVERALPHA,'exec tempdb.dbo.DynamicSprocToTempTable')
GO
SELECT PurchaseOrderID, VendorID, OrderDate
FROM #poh
/ *結果
PurchaseOrderID供應商ID OrderDate
2662 50 2004-05-19 00:00:00.000
2454 44 2004-05-01 00:00:00.000
2547 96 2004-05-10 00:00:00.000
901 54 2003-10-13 00:00:00.000
2675 74 2004-05-22 00:00:00.000
* /
走
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.