SQL 2012数据导入和合并数据

时间:2014-06-16 10:05:52

标签: sql sql-server excel

我正在使用SQL Server 2012和visual studio进行数据库编程项目。我创建了一些表,我有一个包含大量数据的excel文件。此阶段的规范是合并两个excel数据表,每个数据包含11列(两个文件的列数相同,具有不同的数据)到一个单独的表中,然后在项目中用于分页等。

我最初的愿景是创建两个表,一个表有一个excel数据选项卡,另一个表完全相同,除了容纳第二个数据集的名称,然后使用联合连接将两个表合并到一。但是直接导入表是不可能的(可能是由于数据的第1列中存在复合键)所以我随后创建了两个新表,现在确实包含来自excel表的数据但是这不符合将文件合并到表中的规范(因为数据仍然在两个表中而不是一个表中,并且它必须在之前由DDL创建的某个表中)。它也没有解决问题,因为似乎没有办法将这些表查询到现有表中(或者在那里?)

无论如何,感谢阅读,希望我已经包含了足够的信息,如果看起来我错过了什么,请随时问。我认为对此的理想解决方案将涉及一些描述的联接,例如union,但似乎无论如何都没有将这种联接与现有表联系起来。

1 个答案:

答案 0 :(得分:0)

基本上,你会想做类似的事情:

SET IDENTITY_INSERT MainTable ON
INSERT INTO MainTable (col1, col2, col3 ... col11)
SELECT col1, col2, col3 ... col11
FROM Table1
UNION
SELECT col1, col2, col3 ... col11
FROM Table2
SET IDENTITY_INSERT MainTable OFF

您没有明确提到您的主键有IDENTITY字段,但我假设您是,因此包括SET IDENTITY_INSERT命令。