同じ数の列を持つ3つのテーブルがあります。SQL - 2つのテーブルを結合し、存在しない場合は3番目のテーブルに挿入します。
最初の表オフロード
二番目の表Offload_Temp
ファイナル表Merge_Testデータを定期的Offload_Tempに挿入さ
(すべての行が新しいデータを挿入する前に削除される)
delete from Offload_Temp
は、私は何を達成しようとしています...ユニオン/ オフロードとOffload_Tempをマージし、Merge_Test
に挿入Merge_Testはすでにそれにいくつかのデータが含まれているために起こっています。私は重複を避けたいと思います。
次は私のクエリです:
INSERT INTO Merge_Test SELECT * FROM Offload UNION SELECT * FROM Offload_Temp EXCEPT (SELECT * FROM Merge_Test)
たびOffload_Tempが新しいデータで挿入されている(これは、同じデータを含んでいてもよい)と、上記のクエリは、Merge_Test
このプロセスで複製を作成し、定期的に繰り返される。
Merge_Testでの複製を避けるにはどうすればよいですか?
クエリを2回目に明確にするためです。私は重複を見つけることはありません。私は何か見落としてますか? – maSTAShuFu
はい、ダミーデータに重複はありません。たぶん私はもう少しダンプして試してみる必要があります。 私が達成しようとしているのは...メインテーブルがあります。オフロードとセカンダリテーブルOffload_Tempセカンダリテーブルのデータが削除され、新しいデータが供給される予定です。非重複値をマージしてOffload_TempからOffloadに挿入します。ご意見をお聞かせください。 – Tango
あなたは私の答えがうまくいかないと言っていますか? – maSTAShuFu