请教一句sql语句:
tableA序号 值---------1 AA2 BB3 CC4 25 1--------我想变成的结果是下面这样子,也就是说4和5根据值字段的数去拿序号1和2的值来update自己,这个update语句要怎么写呢?
tableA序号 值---------1 AA2 BB3 CC4 BB5 AA
7 回答
UYOU
TA贡献1878条经验 获得超4个赞
自已看吧,我写了个示例
我已经测试成功了,关键点就是自连接
drop table tb
create table tb (
序号 int,
值 varchar(10)
)
insert tb
select 1,'AA' union all
select 2,'BB' union all
select 3,'CC' union all
select 4,'2' union all
select 5,'1'
select *
from tb
update a
set a.值=b.值
from tb a left join tb b on (a.值=rtrim(cast(b.序号 as varchar)))
where b.序号 is not null
select *
from tb
慕容708150
TA贡献1831条经验 获得超4个赞
序号:ID,值:NAME
用的是sqlite数据库,没有top 1
update tableA set NAME=
(select bNAME from (select a.ID as aID, b.NAME as bNAME from tableA a left join tableA b on a.NAME=b.ID where b.NAME<>'' )
where aID = ID)where ID in (select a.ID as aID from tableA a left join tableA b on a.NAME=b.ID where b.NAME<>'' )
- 7 回答
- 0 关注
- 655 浏览
添加回答
举报
0/150
提交
取消