2016-06-14 8 views
0

は、いずれかのみtable1.Col1場合は別の表から行をコピーするには、MS SQLクエリを書くことで私を助けることができることが含まれていません!= table2.col1。コピーデータがすでにデータ

私はそれに関連したアプローチは非常に参考になるように、この手順を実行するSSISパッケージを作っています。

+0

[SQL Serverが存在しない場合は、ベストプラクティスが存在する]の複製が可能です。(http://stackoverflow.com/questions/5288283/sql-server-insert-if-not-exists-best-practice) –

+0

試しましたか? ?私たちがあなたを助けるために努力してください。 – Denn

答えて

1

(私にとって)最も簡単な方法:必要に応じて(あなたがにロードしているテーブル)ターゲット表に(LEFT OUTER JOIN)に参加し、参加が失敗したことを確認するためにWHEREを使用します。もちろん

INSERT INTO dbo.MYTARGETTABLE (TARG_COL1, TARG_COL2) 
SELECT SRC.[SRC_COL1], SRC.[SRC_COL2] 
FROM dbo.MYSOURCETABLE SRC 
    LEFT OUTER JOIN dbo.MYTARGETTABLE TARG 
     ON TARG.[TARG_COL1] = SRC.[SRC_COL1] 
WHERE SRC.[SRC_COL1] IS NOT NULL 
----this column is only null if the join failed: 
AND TARG.[TARG_COL1] IS NULL 

これは想定してい結合する列に有効なNULLがないことを確認します。

関連する問題