2016-03-22 25 views
0

私は現在、私は2つのテーブルがありますような状況があります:プロセス自体にでは、深行くなければ別のテーブルの列に基づいて列に値を挿入する

+--------------+-----------------+-----------------+-----------------+ 
| OriginalID | NewID   | FirstName  | lastName  | 
+--------------+-----------------+-----------------+-----------------+ 
|  123456 |     |  billy  |  bob  | 
|  234567 |     |  tommy  |  smith  | 
|  987654 |     |  sarah  |  anders  | 
+--------------+-----------------+-----------------+-----------------+ etc etc 

+--------------+-----------------+ 
| OriginalID | NewID   | 
+--------------+-----------------+ 
|  123456 | 1111111  | 
|  234567 | 1111112  | 
|  987654 | 1111113  | 
+--------------+-----------------+ 

を、私は最初のテーブルからレコードを取り出し、それを別のシステムに挿入します。これにより、2番目のテーブルの形式でレコードが作成されます(カスタムIDが生成されます)。

+--------------+-----------------+-----------------+-----------------+ 
| OriginalID | NewID   | FirstName  | lastName  | 
+--------------+-----------------+-----------------+-----------------+ 
|  123456 | 1111111  |  billy  |  bob  | 
+--------------+-----------------+-----------------+-----------------+ 

は、私は何をしたい、それはこのようになりますように(NEWIDを取り、最初のテーブル内の同じOriginalIDでの行に置き、第二のテーブル内のすべてのレコードに対してです私が扱うのは、元のIDと新しいIDだけですが、他の値は必要ありません。これは名前の異なる複数のテーブルで発生するため、一般的な例を示しています。呼び出される

ContactRecords (first table) and NewContact (second table) 

私はこの種の問題については、いくつかの例がありますが、私が探している解決策にはまったく適合していません。

ありがとうございます!

答えて

1

これは私たちがここで何度も持っていた結合更新のようです。

update old 
set NewID = new.NewID 
from ContactRecords as old 
    inner join NewContact as New on new.OriginalID = old.OriginalID 
+0

これはトリックでした!私はこの回答をどこかで逃してしまったことを謝り、私にそれを書いてくれてありがとう! – Br0k3nL1m1ts

関連する問題