SQL Server - таблица ОБНОВЛЕНИЯ, где идентификатор находится в SELECT? - PullRequest
9 голосов
/ 29 июля 2011

У меня есть таблица, в которой я хочу обновить все строки с идентификатором, который существует в результате выбора.

Мой псевдокод:

UPDATE mytable as t
   SET t.status = 'PM'
 WHERE t.ID EXISTS IN (select ID from ...)

Мне удалось сделать оператор выбора, теперь я хочу использовать результат оператора выбора для обновления таблицы.

Ответы [ 2 ]

20 голосов
/ 29 июля 2011

Если вы удалите существующее, у вас есть правильный запрос из того, что я могу сказать.

UPDATE mytable 
   SET status = 'PM'
 WHERE id IN (select ID from ...)

У меня работает в MySql 5.5, не знаю, какую базу данных вы используете.

2 голосов
/ 06 марта 2014

Нельзя использовать подстановку в операторе UPDATE.Исходный запрос должен быть хорошим, если вы пропустите часть "as t" и обе буквы "t.".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...