2012-07-24 142 views
1

是否可以將select語句中的數據插入到動態創建的表中?在我運行查詢之前,我不會知道select語句中有多少列。它必須在運行時創建適當數量的列。 謝謝 史密斯SELECT INSERT INTO

回答

4

只需使用SELECT INTO語法:

SELECT * 
INTO NewTable 
FROM MyTable 
WHERE ... 

新表NewTable將與相同的列SELECT語句來創建。

+0

http://stackoverflow.com/questions/11637925/dynamically-create創建物理表到newtable中 加載表從選擇查詢是更新的問題。因爲所有答案都可以從表中獲取數據。在我的情況下,我從複雜的表達式獲取數據。 – LaysomeSmith 2012-07-24 19:39:45

+0

理想情況下應該更新這個問題,而不是創建一個新問題;當多個人在多個問題上解決相同的問題時,它會引起混淆。 – LittleBobbyTables 2012-07-24 19:47:15

0

您可以使用此

USE AdventureWorks 
GO  
----Create new table and insert into table using SELECT INSERT 
SELECT FirstName, LastName 
INTO TestTable 
FROM Person.Contact 
WHERE EmailPromotion = 2 
----Verify that Data in TestTable 
SELECT FirstName, LastName 
FROM TestTable 
----Clean Up Database 
DROP TABLE TestTable 
GO 

一個CTAS模式看一看This Article on CTAS

0

- 這將創建臨時表

SELECT * 到#newtable 從YourTable

select * from #newtable

- 這在DB

SELECT * 從YourTable

SELECT * FROM newtable的