2011-12-15 72 views
0

使用SQL SERVER。SQL Server:如何從動態多個表中獲取數據?

該數據庫包含來自不同年份的數據,不知何故,我希望獲取的所有數據(這些年),並顯示給用戶,例如,數據庫包含表:

table 
-------- 
records_2000_01 
records_2000_02 
records_2000_03 
... 
現在

通過 選擇TABLE_NAME從information_schema.tables到tabletable其中table_name like'records_%'

我可以獲取所有的表名,如何編寫一個SQL(或可能是過程)從這些表中獲取所有數據?將所有記錄放入一張表中?

thx。

+1

的可能重複[我怎樣才能讓這個查詢,以接受動態表名?(http://stackoverflow.com/questions/ 5966428/how-can-i-make-this-query-to-accept-dynamic-table-names) – 2011-12-15 18:39:18

回答

1

在下面的步驟中創建你需要遵循的步驟。

  • Create table Common_Table具有相同的結構,其中所有的表像records_2000_02和其他。
  • 使用循環或光標指示從information_schema獲取的與您的表名匹配的所有記錄
  • 創建從Information_schema獲得的動態sql,如' Insert into your Common_Table select * from ' + Table_name
    • 然後,你在一個表中的所有數據Common_Table
+0

是的,我已經得到它的工作,但我可以;沒有發佈答案,因爲我的「信譽太低「,我無法回答我自己的問題......這是什麼:P – 2011-12-15 20:00:20

相關問題