0

任何人都可以帮助我使这个 sql 语句工作吗?我的 dbms 并不是所有的 INNER JOINS 都带有 UPDATES 所以我必须使用一个子查询:

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,不确定我应该怎么做才能使这个工作?

谢谢你的帮助!

4

1 回答 1

0

对于 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。

于 2011-03-02T03:48:15.893 回答