использование подзапроса с UPDATE - PullRequest
0 голосов
/ 02 марта 2011

Может ли кто-нибудь помочь мне сделать это заявление SQL работает? мои базы данных не все ВНУТРЕННИЕ СОЕДИНЕНИЯ с ОБНОВЛЕНИЯМИ, поэтому я должен использовать подзапрос:

UPDATE INVENTORY
SET i2.BVRTLPRICE01 = i1.BVRTLPRICE01
WHERE exists
(SELECT *
FROM INVENTORY i1
INNER JOIN INVENTORY i2 ON i2.CODE = REPLACE(i1.CODE, 'U', 'S')
WHERE i1.CODE = 'UEOABAA000_005'
)

Прямо сейчас это дает мне синтаксическую ошибку, что i2 и i1 не существуют в запросе, не уверен, что я должен сделать, чтобы заставить это работать?

спасибо за любую помощь!

1 Ответ

0 голосов
/ 02 марта 2011

Для T-SQL (MS SQLServer) это будет выглядеть так:

UPDATE INVENTORY
SET i2.BVRTLPRICE01 = i1.BVRTLPRICE01
FROM  INVENTORY i1
INNER JOIN INVENTORY i2 ON i2.CODE = REPLACE(i1.CODE, 'U', 'S')
WHERE i1.CODE = 'UEOABAA000_005'

Вы можете поменять местами i2 / i1.

...