declare @count int
declare @id int
set @id=10
select @count=count(b.id) from test a
inner join test b on abs(a.id-b.id)>0 and abs(a.id-b.id)<=2
where a.id=@id
if @count=2
set @count=4
else if @count=3
set @count=3
else
set @count=2
select * from test a
inner join test b on abs(a.id-b.id)>0 and abs(a.id-b.id)<=@count
where a.id=@id