从多个表中获取数据,而这些表之间没有关系

时间:2011-05-11 05:42:37

标签: sql sql-server sql-server-2005

对于每周我都有excel表转换为SQL数据库这个excel表给了我30个具有相同结构和字段定义的deference表,但这些表之间没有关系。

所以我想在一个表中合并来自这30个表的数据我正在尝试编写T-sql来执行此操作但我失败了using INFORMATION_SCHEMA.Tablessys.tables以获取表名称和继续在一个查询中从这些表中获取数据。

1 个答案:

答案 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