SQL - обновить таблицу, используя поле другой таблицы - PullRequest
5 голосов
/ 09 мая 2011

Я пытаюсь выполнить следующий запрос на обновление:

UPDATE Commodities 
INNER JOIN UniqueCountries 
     ON Commodities.wbCode = UniqueCountries.wbCode 
SET Idenb = UniqueCountries.wbName||yr

Запрос явно неправильный, так как он не работает. Как я могу это исправить?


В запросе предполагается обновить столбец IdenB с объединенными значениями wbName и yr (wbName||yr). Однако wbName находится на другой таблице, которая называется UniqueCountries, поэтому я попытался выполнить Inner Join.

Что я делаю не так и как я могу это исправить? Большое спасибо.

1 Ответ

4 голосов
/ 09 мая 2011

Я не вижу никаких указаний в документах , что FROM или JOIN поддерживаются в UPDATE инструкциях.

Возможно, вы могли бы попробовать коррелированный подзапрос, если нет.

UPDATE Commodities  
SET Idenb = (SELECT UniqueCountries.wbName||yr 
             FROM UniqueCountries 
             WHERE Commodities.wbCode = UniqueCountries.wbCode)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...