取下次日期,应该怎么实现,详见内容。

木易随风 2013-07-20 11:31:42
有数据如下:

住院号 住院次数 住院日期
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
...全文
86 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2013-07-20
  • 打赏
  • 举报
回复
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
lzw_0736 2013-07-20
  • 打赏
  • 举报
回复
--住院号 住院次数 住院日期 WITH a1 (a,b,c) as ( SELECT 522041,1,'2013-5-6 9:01' UNION all SELECT 522041,2,'2013-5-7 17:01' UNION all SELECT 522041,3,'2013-5-7 19:13' ) SELECT *,ISNULL((SELECT TOP 1 c FROM a1 WHERE b>a.b ORDER BY b asc),'') d FROM a1 a
木易随风 2013-07-20
  • 打赏
  • 举报
回复
嗯 谢谢帮助.

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧