使用内部连接进行DB2更新
我想使用内部连接在DB2表上生成一个UPDATE语句 我试试这个使用内部连接进行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='
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'
);