私は以下の2つのテーブルを持っており、mergeを使って指定された結果を得ようとしています。出来ますか?SQL Server:2つのテーブルのデータをマージする
表1:私は他の条件とそれに有する問題を発見
Table1ID Q1A Q2A Q3A Active
----------------------------------------
1 2 Test 1 1
2 3 Test2 1 1
3 4 Test3 1 1
4 5 Test4 1 1
5 5 Test5 1 0
、また、その行をどのような方法を更新するのではなく、この場合には不活性である5行目用のデータ、iが必要存在同じ行であるがアクティブな行を持つ新しい行を追加する。スクリプトの更新方法に関する提案。データが重複しないように、ID1列がtable1に存在します。
既存のレコードを見ながら、table2のデータを比較し、表1のデータを更新します。
表2:
Table1ID E1 E2 E3
----------------------------------------
1 2 TestData1 1
2 3 TestData2 1
3 4 TestData3 1
5 5 TestData5 1
6 7 TestData6 0
結果:
Table1ID Q1A Q2A Q3A Active
-----------------------------------------
1 2 Test 1 1 -- Rows with Id 1,2,3 already exists in table 1 dont do anything
2 3 Test2 1 1
3 4 Test3 1 1
4 5 Test4 1 0 -- Rows with Id 4 exists in table 1 but not in table 2 update it to inactive
5 5 Test5 1 0
5 5 Test5 1 1 -- Rows with Id 5,6 does not exist in table 1 so insert it
6 7 Test6 0 1
あなたは任意のテーブルを更新しようとしている、またはちょうどこの結果を返すクエリを作成していますか? – Mureinik
テーブルを更新しています。 – user1098028