2017-08-03 18 views
2

私は2枚のExcelシート、一つを含む顧客情報いますSSMS:単一のSQL Serverテーブルに2枚のExcelシートをマージ

+-------+-------+-------+--------+ 
| Fname | Lname | Birth | Gender | 
+-------+-------+-------+--------+ 

とフォーマットされたトランザクションログを有する第二1を次のように:

+------+--------+ 
| Date | Amount | 
+------+--------+ 

私のSQLテーブルが空で、次のフィールドがあります。

+----+------------+-----------+--------+-------+-------+------+ 
| ID | First Name | Last Name | Gender | Birth | Spent | Date | 
+----+------------+-----------+--------+-------+-------+------+ 

私は2つをマージする方法を探していますデータをテーブルに転送しますが、効率的な方法を見つけることはできません。

+0

どのように多くのレコード?これはワンショットの活動ですか、定期的な活動ですか? – etsa

+2

最初のシートのレコードと2番目のシートのレコードはどのように一致していますか?両者を結びつけるものは何もないようです。 – Aidan

+0

結合列とは何ですか? –

答えて

0

BULK INSERTを使用して、Excelファイルのデータを表に挿入できます。私がお勧めするものは、2つの一時テーブルを作成することです。 #Customersおよび#Transactions。お客様のファイルデータを#Customersに、トランザクションデータを#Transactionsにそれぞれ挿入します。

次に、結合を使用して2つの一時テーブルからデータを選択して、CustomersAndTransactionsテーブルにデータを挿入します。

あなたがここにBULK INSERT上に読むことができます:https://docs.microsoft.com/en-us/sql/t-sql/statements/bulk-insert-transact-sql

あなたはいくつかの問題を回避するのに役立つはずですなこの一つとして、すでにStackOverflowの上BULK INSERTについて良い質問、たくさんのもありますImport CSV file into SQL Server

関連する問題