Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用内部连接进行DB2更新_Db2_Sql Update_Inner Join - Fatal编程技术网

使用内部连接进行DB2更新

使用内部连接进行DB2更新,db2,sql-update,inner-join,Db2,Sql Update,Inner Join,我想使用内部连接在DB2表上生成一个UPDATE语句 我试试这个 update TABLE1 set FIELDVALUE='text/html' from TABLE1 as T1 inner join TABLE2 as T2 on T1.PROFILE_ID = T2.PROFILE_ID inner join TABLE3 as T3 on T2.MSGTYPE_ID = T3.MSGTYPE_ID where T1.NAME='contentType' and T3.NAME='

我想使用内部连接在DB2表上生成一个UPDATE语句 我试试这个

update TABLE1 set FIELDVALUE='text/html' from TABLE1 as T1 
inner join TABLE2 as T2 on T1.PROFILE_ID = T2.PROFILE_ID 
inner join TABLE3 as T3 on T2.MSGTYPE_ID = T3.MSGTYPE_ID 
where T1.NAME='contentType' and T3.NAME='Order';
我提到,精选的作品很好

select * from TABLE1 as T1 inner join TABLE2 as T2 
on T1.PROFILE_ID = T2.PROFILE_ID 
inner join TABLE3 as T3 on T2.MSGTYPE_ID = T3.MSGTYPE_ID 
where T1.NAME='contentType' and T3.NAME='Order';
谢谢

Db2不允许使用“update+join”语法。但是,您可以像这样重写sql(未经测试):

Db2不允许使用“update+join”语法。但是,您可以像这样重写sql(未经测试):


DB2的哪个版本,在哪个平台上?我不确定他们中是否有人支持使用连接——解决方案通常是执行某种子查询?我不确定他们中是否有人支持使用连接——解决方案通常是执行某种子查询。
update TABLE1 set FIELDVALUE='text/html' 
where table1.primary_key in (
(
    select t1.primary_key
    TABLE1 as T1 
    inner join TABLE2 as T2 on T1.PROFILE_ID = T2.PROFILE_ID 
    inner join TABLE3 as T3 on T2.MSGTYPE_ID = T3.MSGTYPE_ID 
    where T1.NAME='contentType' and T3.NAME='Order'
);