表格如下:
create table #rankme (rankmeid int identity(1000, 1) primary key,
step int null, checkvalue int null)
insert into #rankme values ( 10 , 1 )
insert into #rankme values ( 15 , null )
insert into #rankme values ( 20 , null )
insert into #rankme values ( 40 , null )
select * from #rankme order by step,checkvalue
以step
为参数,我想知道我要求的checkvalue
之前的请求step
是否为空。
所以我想选择where step=20
并获取NULL
。
我想选择where step=15
并获得1
。
我试图想出一些基于“排名-1”的东西,但到目前为止还没有雪茄。
帮助?
答案 0 :(得分:2)
declare @step int = 15
select top(1) R.checkvalue
from #rankme as R
where R.step < @step
order by R.step desc