SQL Обновить значения столбцов с помощью подзапроса

В таблице базы данных MySQL я хочу ОБНОВИТЬ несколько строк с результатами запроса.

Например, у меня есть таблица

TABLE employees(
  employeeId int,
  salary int,
)

, и я хочу ОБНОВИТЬ только строки, которые появляются в приведенном ниже запросе, с соответствием employeeId s и с newSalary , ставшим измененным значением для salary

(SELECT employeeId, newSalary FROM ....)

Первоначально я думал загрузить результаты во временную таблицу, но я не уверен, как получить значение SET , как показано здесь

UPDATE employees
SET salary = (???)
WHERE employeeId exists in tempTable

. Вы можете прокомментировать, что это приводит к денормализации, Я знаю об этом. Я подозреваю, что будут некоторые ответы типа «вы не хотите этого делать», для краткости, пожалуйста, предположите, что у меня есть веская причина.

5
задан Juan Mellado 4 May 2012 в 13:57
поделиться