日期:2014-05-17  浏览次数:20594 次

取下次日期,应该怎么实现,详见内容。
有数据如下:

住院号 住院次数 住院日期
522041 1         2013-5-6 9:01
522041 2         2013-5-7 17:01
522041 3         2013-5-7 19:13

想实现为:

住院号 住院次数 住院日期 下次入院日期
522041 1         2013-5-6 9:01 2013-5-7 17:01
522041 2         2013-5-7 17:01 2013-5-7 19:13
522041 3         2013-5-7 19:13


环境:SQL Server 2005

------解决方案--------------------
select a.住院号,a.住院次数,a.住院日期,b.住院日期 as 下次入院日期
from 
(select *,ROW_NUMBER() over(order by 住院日期) rn from tb)a
left join (select *,ROW_NUMBER() over(order by 住院日期) rn from tb)b
on a.rn+1=b.rn