У меня есть эти 2 таблицыUPDATE 2 столбца таблицы значений из таблицы
Table P
A | B | C | D
-----------------------------
'abc' | NULL | 'kkk' | NULL
'xyz' | NULL | 'www' | NULL
'pqr' | NULL | 'ccc' | NULL
Table Q
X | Y
-----------------------------
'abc' | 123
'xyz' | 12
'pqr' | 34
мне нужно обновить таблицу Р столбцов В и D со значением Y из таблицы Q до тех пор, как колонке А и C в таблице P
Моего UPDATE теперь соответствует значению столбца X в таблице Q.:
UPDATE TableP
SET B = Q.Y
FROM TableQ Q (NOLOCK)
WHERE Q.X = A
UPDATE TableP
SET D = Q.Y
FROM TableQ Q (NOLOCK)
WHERE Q.X = C
Я только знаю, как сделать это в 2-х заявлениях UPDATE, как я могу это сделать в одном UPDATE заявление?
Хммм ... некоторые из столбцов равно будет NULL ... –
@StevenYong - Да Если B или D уже 'NULL'. Он может обрабатываться через функцию ISNULL –
Когда все значения в столбцах A и C из таблицы P существуют в столбце X таблицы Q, некоторые из столбцов имеют значение NULL. Скажем, «kkk», «www», «ccc» также находятся в таблице Q. –