2016-03-22 5 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  | 
+--------------+-----------------+ 

Не вдаваясь в глубину в сам процесс, Я беру запись из первой таблицы и вставляю ее в другую систему, которая дает запись в виде второй таблицы (генерирует для нее пользовательский идентификатор).

То, что я хочу сделать, это для каждой записи во второй таблице, возьмите NewID и поместите его в ряд с тем же OriginalID в первой таблице (так что это выглядит следующим образом:

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

В качестве примечания, единственными значениями, которые мне нужны, являются OriginalID и NewID, ни одно из других значений не требуется. Это произойдет для нескольких таблиц с разными именами, поэтому я привел общий пример. В этом примере таблицы могут можно назвать

ContactRecords (first table) and NewContact (second table) 

Я прочитал (а) вечные примеры на SO об этом типе проблемы, но ни один из них не подходит для решения, которое я ищу.

Заранее благодарен!

ответ

1

Это похоже на обновление присоединения, которое мы имели здесь много раз.

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

Это сделало трюк! Я прошу прощения, что я пропустил этот ответ в другом месте, и спасибо, что написал его для меня! – Br0k3nL1m1ts

Смежные вопросы