永发信息网

SQL将上一行的值赋值给下一行

答案:5  悬赏:40  手机版
解决时间 2021-11-16 10:44
  • 提问者网友:自食苦果
  • 2021-11-16 07:25
SQL将上一行的值赋值给下一行
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-11-16 07:57
rownum是表中列名,还是oracle的伪列?如果是列名,则如下
update t set
name=(select name from t s where s.rnf2=(select f2 from t s where s.rn消息 512,级别 16,状态 1,第 1 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。追答什么数据库?追问SQL server 2008 sp1
全部回答
  • 1楼网友:野慌
  • 2021-11-16 11:58
update 表名 a set a.name=(select b.name from 表名 b where b.rownum=a.rownum-1) where a.name is null追问不是修改这一个表,而是要把这个表的数据查询出来插入到另一个表中,另外这个地方B表是什么意思?
  • 2楼网友:躲不过心动
  • 2021-11-16 11:01
update a set name =(select top 1 name from b where a.rownum>b.rownum and b.name is not null andorder by b.rownum desc)追问不是修改这一个表,而是要把这个表的数据查询出来插入到另一个表中,另外这个地方B表是什么意思?
  • 3楼网友:痴妹与他
  • 2021-11-16 10:51
用内连接就行了嘛追问我就这张表啊,怎么内连了追答自己跟自己连接……追问具体怎么写的?追答update tb1 set a.name = b.name from tb1 a inner join tb1 b on a.id =b.id where...
条件加上就行了追问这样不行的追答怎么不行?把条件加对了就行了
  • 4楼网友:第幾種人
  • 2021-11-16 09:23
update a set a.name=(select b.name from b whrere b.rownum=a.rownum-1)where a.name is not null andorder by b.rownum desc
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯