Обновить строки таблицы на основе других таблиц
У меня есть 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)