首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

条件选择有关问题

2012-03-05 
条件选择问题有一个表及数据------例子1:id(int)duanS(char(1))1Y2Y3N4Y例子1:id(int)duanS(char(1))1Y2Y3

条件选择问题
有一个表及数据
------
例子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

热点排行