请教一个sql语句的写法,关于用本表的字段值更新本表的字段

请教一句sql语句:

tableA
序号   值
---------
1     AA
2     BB
3     CC
4     2
5     1
--------
我想变成的结果是下面这样子,也就是说4和5根据值字段的数去拿序号1和2的值来update自己,这个update语句要怎么写呢?

tableA
序号   值
---------
1     AA
2     BB
3     CC
4     BB
5     AA

千巷猫影
浏览 656回答 7
7回答

UYOU

自已看吧,我写了个示例 我已经测试成功了,关键点就是自连接 drop table tbcreate table tb ( 序号 int, 值 varchar(10))insert tbselect 1,'AA' union allselect 2,'BB' union allselect 3,'CC' union allselect 4,'2' union allselect 5,'1'select *from tbupdate aset a.值=b.值from tb a left join tb b on (a.值=rtrim(cast(b.序号 as varchar)))where b.序号 is not nullselect *from tb

米脂

select  tablea.序号,t.值  from  tablea left join tablea t on tablea.序号=t.值

素胚勾勒不出你

是update哦

慕码人2483693

这个也行

慕容708150

序号: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<>'' )

吃鸡游戏

这个比较复杂
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server