Обновить строки таблицы на основе других таблиц

У меня есть 2 таблицы SQL Server (Tab1, Tab2)

Tab1 имеет

col1
col2 
col3 

Tab2 имеет

col11
col22 
col33

Я хочу скопировать форму данных

col1 в col11 и col2 в col22.

если col3 равно col33.

Как я могу это сделать?

2 ответа

Просто объедините таблицы на основе col3 = col33 и обновите другие столбцы.

UPDATE T2
    SET
       col11 = T1.col1,
       col22 = T1.col2
    FROM Tab1 T1
       INNER JOIN Tab2 T2
          ON T2.col33 = T1.col3

Вы должны просто выбрать значения столбца из Tab2 и вставить в Tab1, как показано ниже:

INSERT INTO Tab2 (col11,col22,col33) 
SELECT T1.col1,T1.col2,T1.col3 
FROM Tab1 T1
WHERE T1.col3 EXISTS IN(SELECT col33 FROM Tab2 WHERE col33=T1.col3)
Другие вопросы по тегам