Запрос SQL для обновления поля таблицы из информации из двух других таблиц - PullRequest
1 голос
/ 27 октября 2011

У меня есть три таблицы: категория, старая и новая.

Цель: обновить book_id со старого на новое

В таблице категорий есть столбец: book_id

таблицыстарый и новый оба имеют столбцы: id и isbn

Чего я хочу достичь:

  • взять оригинальный book_id из категории
  • сопоставить оригинальный book_id с id из старого
  • взять isbn полученной записи и сопоставить его с isbn в новом
  • взять идентификатор полученной записи и обновить book_id

Запуск MySQL.

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

Синтаксис MySQL немного отличается от SQL Server или Oracle ...

update category cat
inner join old on cat.book_id = old.id
inner join new on old.isbn = new.isbn
set cat.book_id = new.id
0 голосов
/ 27 октября 2011

Если вы обновите категорию, это должно сделать:

update cat 
set book_id = new.id
from category cat
join old on cat.book_id = old.id
join new on old.isbn = new.isbn
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...