如何有条件的获取下一条记录中指定字段的值?
表 
 ID               F1               F2                                 F3    
 001            DD               2007-04-18         13:05:31 
 001            AA               2007-04-21         10:25:54 
 001            CC               2007-04-22         09:05:04 
 002            DE               2007-04-18         13:08:56 
 002            AB               2007-04-21         11:55:54 
 003            BC               2007-04-22         10:05:22 
 003            XX               2007-05-03         14:22:16 
 ... 
 想要取得的结果表 
 ID               F1               F2                                 F3                        F4                              F5 
 001            DD               2007-04-18         13:05:31      2007-04-21      10:25:54 
 001            AA               2007-04-21         10:25:54      2007-04-22      09:05:04 
 001            CC               2007-04-22         09:05:04       
 002            DE               2007-04-18         13:08:56      2007-04-21      11:55:54 
 002            AB               2007-04-21         11:55:54 
 003            BC               2007-04-22         10:05:22      2007-05-03      14:22:16    
 003            XX               2007-05-03         14:22:16 
 ...   
 说明:F4取同ID的下一笔记录中的F2的值,F5取取同ID的下一笔记录中的F3的值,同ID最后一笔记录F4,F5的值为空!   
 想在SQL2005里面实现,存储过程也行!
------解决方案--------------------drop table #t 
 go 
 create table #t(ID varchar(10),F1 varchar(10),F2 varchar(10),F3 varchar(10)) 
 insert into #t 
 select  '001 ', 'DD ', '2007-04-18 ', '13:05:31 ' 
 union all select  '001 ', 'AA ', '2007-04-21 ', '10:25:54 ' 
 union all select  '001 ', 'CC ', '2007-04-22 ', '09:05:04 ' 
 union all select  '002 ', 'DE ', '2007-04-18 ', '13:08:56 ' 
 union all select  '002 ', 'AB ', '2007-04-21 ', '11:55:54 ' 
 union all select  '003 ', 'BC ', '2007-04-22 ', '10:05:22 ' 
 union all select  '003 ', 'XX ', '2007-05-03 ', '14:22:16 '   
 alter table #t add id1 int identity(1,1) 
 go 
 select *, 
 (select top 1 F2 from #t b where b.ID=a.ID and b.id1> a.id1) as F4, 
 (select top 1 F3 from #t c where c.ID=a.ID and c.id1> a.id1) as F5 
 from #t a 
 /* 
 ID         F1         F2         F3         id1         F4         F5          
 ---------- ---------- ---------- ---------- -----