oracle中的update语句能用相关子查询么?
答案:2 悬赏:50 手机版
解决时间 2021-11-18 21:58
- 提问者网友:疯孩纸
- 2021-11-18 15:19
oracle中的update语句能用相关子查询么?
最佳答案
- 五星知识达人网友:北城痞子
- 2021-11-18 15:34
因为查出的值很多,不知道你要更新为哪个,要是值都一样的话,用最大值或最小值,这样出来的是一条记录
update table1 a set a.name = (select max(b.name) from table2 where a.id=b.id);
where ---你可以在后面再次限制更新的记录条件
update table1 a set a.name = (select max(b.name) from table2 where a.id=b.id);
where ---你可以在后面再次限制更新的记录条件
全部回答
- 1楼网友:白昼之月
- 2021-11-18 16:03
update table1 a set a.name = (select b.name from table2 where a.id=b.id and rownum=1 );
其实要按你的具体需求而定。
步骤多,但效率比较高:
1、create table 临时表 value (select a.id,a.name,b.name,... from table1 a,table2 b where a.id=b.id)
2、删除table1中的记录,不要drop
3、insert into table1 select 你需要的字段 from 临时表。
其实要按你的具体需求而定。
步骤多,但效率比较高:
1、create table 临时表 value (select a.id,a.name,b.name,... from table1 a,table2 b where a.id=b.id)
2、删除table1中的记录,不要drop
3、insert into table1 select 你需要的字段 from 临时表。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯