обновить строки в одной таблице на основе объединения - PullRequest
2 голосов
/ 06 мая 2011

У меня есть запрос, который производит строки, которые я хочу обновить, и запрос выглядит так:

SELECT item.item_id
FROM   items
JOIN   users2items
ON     users2items.item_id = items.item_id
WHERE  users2items.user_id = 10;

Теперь мне нужно обновить столбец для каждой записи, которая соответствует этому запросу в таблице элементов;в настоящее время я беру набор результатов, а затем строю и выполняю запросы для каждого результата, но я полагаю, что, вероятно, есть способ сделать это непосредственно в SQL.Я выполняю отдельные операторы:

UPDATE items SET is_usable = 1 WHERE item_id = $current_id

Так что все работает как есть, но я пытаюсь понять, есть ли способ сделать это на чистом SQL

1 Ответ

8 голосов
/ 06 мая 2011
UPDATE items
JOIN   users2items
ON     users2items.item_id = items.item_id
SET    is_usable = 1
WHERE  users2items.user_id = 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...