同じスキーマを持つ2つのテーブルがあります.1つはデータがバルクロードされ、もう1つは私のライブテーブルです。私は行が異なるアップロードされたテーブルからライブテーブルを更新したい。私はここにかなり近いと思うが、どこで私の更新が実際に始まるだろうか?列の値が別のテーブルと異なるテーブルの行
これは私に実際に私は私のライブテーブルにプッシュしたいの変更必要があり、私の更新された行できます:私は、このSQL文は、仕事をするだろうと信じていますが、圧延でそれをテストしたい場合があります
SELECT USC.* FROM UpdateStagingCustomers AS USC
JOIN StagingCustomers AS SC
ON USC.CustomerNumber = SC.CustomerNumber
AND USC.ManufacturerID = SC.ManufacturerID
WHERE USC.ManufacturerID=18 AND SC.ManufacturerID = 18
AND USC.CustomerNumber IN(
SELECT CustomerNumber FROM StagingCustomers WHERE ManufacturerID=18
)
AND
(
USC.Address1 <> SC.Address1 OR
USC.Address2 <> SC.Address2 OR
USC.AuthorizedDealer <> SC.AuthorizedDealer OR
USC.City <> SC.City
)
'= 18 USC.ManufacturerID AND SC.ManufacturerID = 18 AND USC.CustomerNumber IN(ManufacturerID = 18 StagingCustomers FROM SELECT CustomerNumberの)' これは単にUSC.ManufacturerID =は異なる結果を生成してい18? CustomerNumberとManufacturerIDに参加しているので、重複しているようです。もっとあなたの質問をしてください。どのテーブルを更新しようとしていますか? – cadrell0
は、私が推測するように、おそらく必要ない安全なガードとして追加されました。 UpdateStagingTablesの値でStagingCustomersテーブルを更新しようとしています – Slee
Davidの答えが正しいです。 – cadrell0