Sql 在DB2中将Select和Update转换为Update with SubSelect

Sql 在DB2中将Select和Update转换为Update with SubSelect,sql,db2,Sql,Db2,我有一个选择查询,如下所示: SELECT COL1, COL2, COL3 FROM ( SELECT A.COL1, B.COL2, A.COL3 FROM SCHEMA1.TAB1 A, SCHEMA2.TAB2 B WHERE A.SOMECOL = B.SOMECOL ) TEMP WHERE NOT EXISTS ( SELECT 1 FROM SCHEMA3.TAB3 C WHERE C.COL3 = TEMP.COL

我有一个选择查询,如下所示:

SELECT COL1, COL2, COL3 
FROM 
(
    SELECT A.COL1, B.COL2, A.COL3 
    FROM 
    SCHEMA1.TAB1 A, SCHEMA2.TAB2 B 
    WHERE 
    A.SOMECOL = B.SOMECOL 
) TEMP 
WHERE NOT EXISTS
(
    SELECT 1 FROM SCHEMA3.TAB3 C WHERE C.COL3 = TEMP.COL3
)
现在,在我当前的代码设置中,我首先运行
SELECT
以获得结果,然后在下一步中,通过迭代结果集,使用下面的更新查询更新表
SCHEMA3.TAB3

UPDATE SCHEMA3.TAB3 SET COL1=?, COL2=? WHERE COL3=? 
其中三个参数值来自上述结果
选择

但是,现在我想将这两个选择和更新步骤转换为一个带有子选择的update语句,并完全取消参数设置


我该怎么做呢?

你的问题似乎有点不对劲


您正在更新其中的
TAB3.COL3=TAB1.COL3
,但在原始的
中,选择
以获取您已删除的行中的值,其中
TAB3.COL3=TAB1.COL3

此处没有计算某些内容。您正在从TAB1中选择COL3在TAB3中不存在的行;您计划如何更新TAB3中不存在的行?