Ответ 1
здесь правильный синтаксис UPDATE
с соединением в MySQL
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value
Как обновить table1
с данными из table2
, где id
равно?
Когда я запускаю следующий оператор обновления, он обновляет все записи в table1
(даже если поле id
в table1
не существует в table2
).
Как я могу использовать синтаксис таблицы множественного обновления, чтобы обновлять ТОЛЬКО записи в table1
ТОЛЬКО, где id
присутствует в table2
и равно?
UPDATE table1,table2
SET table1.value=table2.value
WHERE table2.id=table1.id
Спасибо заранее.
здесь правильный синтаксис UPDATE
с соединением в MySQL
UPDATE table1 a
INNER JOIN table2 b
ON a.ID = b.ID
SET a.value = b.value
ИЗМЕНИТЬ Для MySql это будет
UPDATE table1 t1 INNER JOIN
table2 t2 ON t2.id = t1.id
SET t1.value = t2.value
Оригинальный ответ для SQL Server
UPDATE table1
SET table1.value = table2.value
FROM table1 INNER JOIN
table2 ON table2.id=table1.id
Вы можете попробовать следующее:
UPDATE TABLE1
SET column_name = TABLE2.column_name
FROM TABLE1, TABLE2
WHERE TABLE1.id = TABLE2.id
UPDATE table1
SET table1.value = (select table2.value
WHERE table2.id=table1.id)