我正在尝试根据连接表中的数据更新字段。我已经读过Update命令不能用于where子句中的表连接。但是,我不能使用Exists命令解决方法,因为我的条件不是链接记录的存在,而是该链接记录中的值。
update stock S
set stm_auto_key=186086
From
STOCK Left Join
STOCK_RESERVATIONS On STOCK.STR_AUTO_KEY = STOCK_RESERVATIONS.STR_AUTO_KEY
Where
S.QTY_OH > 0 And
S.STM_LOT = 128729 And
STOCK_RESERVATIONS.IND_AUTO_KEY Is Null
select语句可以很好地独立工作。但是,在更新命令中使用它会导致" SQL命令未正确结束。"
提前致谢...
答案 0 :(得分:0)
我想,你需要这样的东西,因为在UPDATE语句中可能没有FROM子句:
update stock S
set stm_auto_key=186086
Where
S.QTY_OH > 0 And
S.STM_LOT = 128729 And
(SELECT STOCK_RESERVATIONS.IND_AUTO_KEY FROM STOCK_RESERVATIONS
WHERE S.STR_AUTO_KEY = STOCK_RESERVATIONS.STR_AUTO_KEY) Is Null