2015-11-17 5 views
1

У меня есть две таблицы:Обновление нескольких строк в таблице с различными значениями

ТаблицаA имеет два столбца: «AnswerId», «Date». TableB имеет два столбца: «Id», «OldDate».

Это то, что я до сих пор:

update TableA 
set TableA.Date = TableB.OldDate 
where TableA.AnswerId = TableB.Id 

Но это только обновления одна строка. Как обновить все строки в таблице A с помощью корреляционного значения из TableB? Я не хочу делать это вручную в строке, так как у меня несколько тысяч строк.

ответ

4

Я не знаю, как ваш запрос мог бы работать, потому что tableB не определен.

Вы можете использовать явное join:

update TableA a join 
     TableB b 
     on a.AnswerId = b.Id 
    set a.Date = b.OldDate; 
+1

Спасибо, сэр. Это решило мою проблему. Могу ли я жениться на тебе? –

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