读书人

条件选择有关问题

发布时间: 2012-03-05 11:54:02 作者: rapoo

条件选择问题
有一个表及数据
------
例子1:
id(int) duanS (char(1))
1 Y
2 Y
3 N
4 Y
例子1:
id(int) duanS (char(1))
1 Y
2 Y
3 N
4 N
--------------------------------------
现在有一个变量@cc(int),值@cc=2{对应id=2}。
请教一SQL语句,使达到以下重新给@cc赋值的功能:
1.id > @cc
2.最近(方向向下)的duanS值为“Y”的ID号赋值给@cc
3.如果不存在(方向向下)的duanS值为“Y”的ID号,那么@cc=@cc+1
--------------------------------------
sql语句的结果:
在例子1中:@cc=4
在例子2中:@cc=3
--
请教sql语句!



[解决办法]
以id是顺序排列理解

declare @cc int
set @cc=2
if exist (select top 1 id from 例子1 where id> @cc order by id )
select select top 1 @cc=id from 例子1 where id> @cc order by id
else
set @cc=@cc+1

读书人网 >SQL Server

热点推荐