Oracle 关联两表写update语句
有表1和表2,表1有字段A,字段B,A为主键,表2也有字段A(不是主键),还有字段C,我希望把表1的字段B赋给表2的C字段,如何写?...
有表1和表2,表1有字段A,字段B,A为主键,表2也有字段A(不是主键),还有字段C,我希望把表1的字段B赋给表2的C字段,如何写?
展开
推荐于2017-09-06
展开全部
两种方法:
-- 方法1.
UPDATE 表2
SET
表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A)
WHERE
EXISTS ( SELECT 1 FROM 表1 WHERE 表1.A = 表2.A)
-- 方法2
MERGE INTO 表2
USING 表1
ON ( 表2.A = 表1.A ) -- 条件是 A 相同
WHEN MATCHED THEN UPDATE SET 表2.C = 表1.B -- 匹配的时候,更新
展开全部
update t2 set c=(select b from t1 where t1.a = t2.a)
where exists(select 1 from t1 where t1.a = t2.a)
where exists(select 1 from t1 where t1.a = t2.a)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表2 set 表2.C=表1.B from 表1 inner join 表2 on 表1.A=表2.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
update 表2
set B=C
from 表1,表2
set B=C
from 表1,表2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询