使用带有UPDATE的子查询

时间:2011-03-02 03:32:43

标签: sql pervasive

任何人都可以帮我做这个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在查询中不存在,不知道我应该怎么做才能使这个工作?

感谢您的帮助!

1 个答案:

答案 0 :(得分: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。