2014-06-16 23 views
0

我正在做一個使用SQL Server 2012以及visual studio的數據庫編程項目。我創建了一些表格,並且我有一個包含大量數據的excel文件。此階段的規範是將兩個具有11列(每個文件具有不同數據的列)的兩個Excel數據表合併到一個單獨的表中,稍後在項目中進行分頁等操作。SQL 2012數據導入和合並數據

我的最初的願景是創建兩個表格,一個表格具有一個excel數據表格,另一個表格除了名稱第二個數據集合之外完全相同,然後使用聯合聯接將兩個表格合併爲一個表格。然而,直接導入表是不可能的(可能是由於數據的第1列中存在組合鍵),所以我創建了兩個新表,它們現在包含來自Excel表格的數據,但是這不符合指定將文件合併到表中(因爲數據仍然在兩個表中,而不是一個,並且它必須位於先前由DDL創建的某個表中)。它也不能解決問題,因爲似乎沒有辦法將這些表查詢到現有表(或有嗎?)

無論如何,感謝閱讀,希望我已經包含足夠的信息,如果看起來我錯過了一些東西,隨時提問。我認爲對此的理想解決方案將涉及諸如工會之類的一些描述的聯合,但似乎沒有辦法將該聯接關聯回現有的表。

+0

那麼,你有兩個從excel導入的新表,並且你想將這些數據導入到一個sql表中? – SamoanProgrammer

+0

我已經將excel文件導入到sql中,並且生成的數據與已經創建的其他表格一起被保存爲2個表格(儘管它可能更容易直接再次讀取excel文件,不確定)。 因此,手頭的問題基本上是如何將數據從2個表/ excel導入到1個sql表中,因爲保留主鍵和數據類型非常重要。 – user3744344

+0

什麼是您將要導入到的模式sql表格? – SamoanProgrammer

回答

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 

您還沒有具體提到你有一個標識字段爲您的主鍵,但我假設你,因此包括SET IDENTITY_INSERT命令。

+0

非常感謝我的太平洋朋友(來自新西蘭的im)!這跟我之後的情況差不多(儘管主要是因爲數據標準化,看起來還有加入表的問題) – user3744344

+0

不用擔心隊友,很高興我能幫助你。是啊,我幾乎是一個薩摩亞奇異鳥,在我的大部分時間都住在新西蘭,但現在在奧茲:D – SamoanProgrammer

+0

和繁榮我終於通過數據標準化問題,現在到'有趣'的東西:)再次感謝。在灰塵盆裏搭配你做的事?不妨再次回到承諾的土地上,那些擁有各種SQL技能的人們最近可以在惠靈頓殺人,儘管可能在任何地方都可以殺人:P – user3744344