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