我正在尝试根据另一个表中的选择条件更新一个表。我的SQL是
update
hshed
set
oaeiin = 'Y',
OAEIND = '170201'
from
hshed
join cusms on oacono = cmcono
and oacsno = cmcsno
where
cmtpid like 'OB10%'
and oainvd > 180120
and oaeiin = 'N'
但是,我收到错误
Keyword FROM not expected. Valid tokens: USE SKIP WAIT WITH WHERE.
我不确定如何根据第二个表中的条件更新表,或者如何使用连接。这是在DB2数据库中使用SQL。
我尝试过寻找没有成功的解决方案。
感谢任何帮助。
答案 0 :(得分:1)
我认为这里的主要问题是DB2不支持您正在使用的更新连接语法。一种可能的解决方法可能是使用EXISTS
子句来处理您想要的相同逻辑:
UPDATE
hshed
SET
oaeiin = 'Y',
OAEIND = '170201'
WHERE
EXISTS (SELECT 1 FROM cusms WHERE oacono = cmcono) AND
EXISTS (SELECT 1 FROM cusms WHERE oacsno = cmcsno) AND
cmtpid LIKE 'OB10%' AND
oainvd > 180120 AND
oaeiin = 'N';
Here is a link一般性的Stack Overflow问题讨论这个问题。