Оператор UPDATE с использованием WHERE из 2 таблиц

Ищу несколько советов о том, как выполнить обновление таблицы, но где мои 2 оператора WHERE взяты из разных таблиц. Вот что я думаю:

UPDATE table1
SET table1.t1field=('new parameter');
FROM table1
WHERE table1.t1field > ('parameter') 
INNER JOIN
table 2
ON table2.t2field  = ('my other parameter');

По сути, я хочу обновить X, где X = myparameter (из таблицы 1) и myparameter2 (из таблицы 2).

Я правильно понял синтаксис? Если после нового параметра я удаляю точку с запятой, я получаю ошибку "Команда SQL не завершена должным образом", но, оставив ее, я думаю, что она пытается обновить все в таблице! Очевидно, что я не хочу этого, я хочу, чтобы он обновлял этот параметр, если он соответствует 2 критериям.

Спасибо за любую помощь, которую вы можете оказать.

2 ответа

Правильный синтаксис для запросов на обновление с объединением следующий:

UPDATE t1
SET t1.[column]=[value]
FROM table1 t1 INNER JOIN table2  t2 ON [join condition]
WHERE [conditions]

Это должно быть что-то вроде следующего:

UPDATE table1
INNER JOIN table2
ON table2.join_field = table1.join_field
SET table1.t1field=('new parameter'), table2.t2field  = ('my other parameter')
FROM table1
WHERE table1.t1field > ('parameter');
Другие вопросы по тегам