根据第二个表中的条件更新表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据第二个表中的条件更新表相关的知识,希望对你有一定的参考价值。
我试图根据另一个表中的选择标准更新一个表。我的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。
我试图寻找一个没有成功的解决方案。
任何帮助表示赞赏。
答案
我认为这里的主要问题是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问题一般讨论这个问题。
以上是关于根据第二个表中的条件更新表的主要内容,如果未能解决你的问题,请参考以下文章
MYSQL:我想用另一个表中的值更新表中的所有行,其中第一个表中的值等于第二个表
如何在 EF / EF Core 中的第二个表上实现具有某些条件的左连接?
Haversine 公式,PHP,如果条件适用,则添加到第二个表中