对于每周我都有excel表转换为SQL数据库这个excel表给了我30个具有相同结构和字段定义的deference表,但这些表之间没有关系。
所以我想在一个表中合并来自这30个表的数据我正在尝试编写T-sql来执行此操作但我失败了using INFORMATION_SCHEMA.Tables
或sys.tables
以获取表名称和继续在一个查询中从这些表中获取数据。
答案 0 :(得分:3)
将表与完全相同的模式组合在一起:
SELECT * FROM Table1
UNION
SELECT * FROM Table2
如果整个数据库由这些表组成,您应该能够使用sp_msforeachtable
程序。
CREATE TABLE #TempTable (Col1 INT, Col2 NVARCHAR(50))
sp_msforeachtable 'INSERT INTO #TempTable (Col1 , Col2) SELECT Col1 , Col2 FROM ?'
SELECT * FROM #TempTable
DROP TABLE #TempTable