更新序号问题-SQL(100)

  • 主题发起人 主题发起人 xnfzy
  • 开始时间 开始时间
X

xnfzy

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位大侠:我在数据库中有4记录ID,NAME,TIME1 aa 系统时间2 bb 系统时间3 cc 系统时间4 dd 系统时间如果我新添加一条记录cc,按理cc的ID是5,但现在我要以最后更新的这个NAME的ID为最早的,其他以此类推下去,请教如何写这个sql?
 
请教高手指点!!!
 
要求不很明确阿
 
有两个数据表1,表2;表1用来记录数据明细,表2用来记录数据字段name的用户编号,name已在表2中全部录入,表1中name字段可以重复,在向表1中插入数据时,同时把表2中此用户的编号更新为第一位,即添加那个用户名的记录就修改那个用户的排序为1,其它更新为n+1,例如:表1ID Name time1 张三 5月10日2 李四 5月3日表2用户 排号张三 1李四 2王五 3在表1中插入一条记录ID Name time3 王五 5-20那么更新表2中,更新后用户 排号张三 2 (原来排1)李四 3 (原来排2)王五 1 (原来排3)
 
1、获取表2中相关记录的排号并标记下2、将该记录的排号置为03、将小于该排号的记录排号+1搂主是这个意思么?
 
差不多就是这样意思!
 
update 表2set 排号=0where 用户=王五declare @id int,@mid int select @mid=min(排号),@id=@mid+1 from 表2update 表2 set 排号=@id,@id=@id+1 where 排号>@mid 这样写好像不可以哦,请指点一下!
 
二兄,这一步怎么做?1、获取表2中相关记录的排号并标记下
 
用你的变量记录呀
 
declare @id int,@mid int update 表2select @id = 排号 from 表2where 用户=王五
 
这样做没什么意义吧。
 
如果我新添加一条记录cc,按理cc的ID是5,但现在我要以最后更新的这个NAME的ID为最早的,其他以此类推下去,请教如何写这个sql?最早的,是不是排列在最前啊.还是序号最小啊.
 
如果你的排号是按照1,2,3,4....这样递增的话,直接把所有的排号加1,然后再把王五的排号更新为1即可。update 表2 set 排号=排号+1update 表2 set 排号=1 where 用户='王五'
 
后退
顶部