2017-11-27 6 views
0

名前がA11とB22の2つのファイルがあります。これらのファイルの両方からレコードをマージする3番目のファイルを作成して、レコードが元のファイルに属することを示す追加の列を1つ追加します。T-SQLを使用して複数のファイルをSQL Serverに追加し、さらに1つの列を追加する方法

各ファイルには、次の3つのレコードが含まれています。

A11:

Mike,50 

Rocky,60 

Andy,70 

B22:

Kristen,80 

Natasha,90 

Mila,100 

私はこのような出力何かをしたいです。

C33出力ファイル:

Mike,50,A11 

Rocky,60,A11 

Andy,70,A11 

Kristen,80,B22 

Natasha,90,B22 

Mila,100,B22 

誰もがこの目的の結果を取得する方法で私を助けることができますか?

+0

ファイルとは、実際にテーブルを意味しますか? –

+0

はい、出力表C33。 – Spartan

答えて

0

これはかなり詳細ではありませんが、このようなことができると思います。

insert C33 
(
    Name 
    , SomeValue 
    , SourceFile 
) 

select Name 
    , SomeValue 
    , 'A11' 
from A11 

UNION ALL 

select Name 
    , SomeValue 
    , 'B22' 
from B22 
+0

これはサンプルデータのみです。私は50以上のファイルをマージしたいと各ファイルは20以上のカラムを持っているので、手続きや自動化された何かを提案することができます。 – Spartan

+0

テーブルが50枚ほどで約10-15分かかります。あなたはもともとこれを32分前に尋ねました。ちょうど座ってそれをコード化すれば、すでに完了しています。どの50テーブルを使用するのかをどのように知っていますか?これを動的に実行するには、動的SQLが必要です。ダイナミックな解決策を書くのは、これを書き留めるよりも時間がかかりそうです。 –

+0

または、テーブルごとに1つ、50個の挿入文を作成します。 –

関連する問題