繁体   English   中英

通过比较两个表来更新SQL查询

[英]Update SQL query by comparing two table

如何通过比较两个表来更新sql列中的查询? 这可能是重复的问题,但仍然无法解决我的问题。 任何帮助,将不胜感激。

到目前为止我尝试过的但是出错

UPDATE b SET b.STAMP = b.STAMP + 10 FROM TB_FWORKERSCH b,TB_FWORKERCN a 
WHERE a.ISSDATE>='20150401' AND a.UKEY=b.UKEY2 and b.STAMP=0 AND b.IG_SUMINS!=0

DB2数据库

DB2不允许UPDATE子句使用JOIN或FROM(在SQL标准中也未指定)。

您可以使用相关的子查询来实现所需的目标:

UPDATE tb_fworkersch b
  SET stamp = stamp + 10 
WHERE EXISTS (SELECT 1 
              FROM tb_fworkercn a 
              WHERE a.issdate >= '20150401' 
                AND a.ukey = b.ukey2) 
AND b.stamp = 0
AND b.ig_sumins <> 0

尝试这个:

MERGE INTO TB_FWORKERSCH b 
USING TB_FWORKERCN a
   ON a.UKEY=b.UKEY2
   AND a.ISSDATE>='20150401' AND b.STAMP=0 AND b.IG_SUMINS<>0
WHEN MATCHED
   THEN UPDATE SET b.STAMP = b.STAMP + 10;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM