create table user_vouch
(
userid int,
vouchid int
)
insert user_vouch select 1 ,NUll
insert user_vouch select 2 ,1
insert user_vouch select 3 ,2
insert user_vouch select 4 ,3create Function find_id(@id int)
returns int
as
begin
declare @EndID int
declare @T table(userid int,vouchid int,lev int)
declare @lev int
set @lev=1
insert @T select userid,vouchid ,@lev from user_vouch where userid=@id
while @@rowcount>0
begin
set @lev=@lev+1
insert @T select userid,vouchid ,@lev from user_vouch where userid in(select vouchid from @T where lev=@lev-1)
end
select top 1 @EndID=userid from @T order by lev desc
return @EndID
endselect dbo.find_id(4)
(
userid int,
vouchid int
)
insert user_vouch select 1 ,NUll
insert user_vouch select 2 ,1
insert user_vouch select 3 ,2
insert user_vouch select 4 ,3create Function find_id(@id int)
returns int
as
begin
declare @EndID int
declare @T table(userid int,vouchid int,lev int)
declare @lev int
set @lev=1
insert @T select userid,vouchid ,@lev from user_vouch where userid=@id
while @@rowcount>0
begin
set @lev=@lev+1
insert @T select userid,vouchid ,@lev from user_vouch where userid in(select vouchid from @T where lev=@lev-1)
end
select top 1 @EndID=userid from @T order by lev desc
return @EndID
endselect dbo.find_id(4)
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货