请高手看看,求一个SQL语句,稍微有些难吧!
有表名称和结构如下: 
 TestTable 
 KeyID         varchar(4)      Primary   Key 
 StdID         varchar(2) 
 SDate         datetime 
 EDate         datetime 
 ------------------------------------- 
 有如下记录 
 KeyID         StdID                  SDate                           EDate 
 A001               T1                  2006/10/13            2006/10/15 
 A002               T1                  2006/10/13            2006/11/10 
 A003               T2                  2006/12/01            2006/11/05 
 A004               T2                  2006/12/02            2006/12/08 
 A005               T2                  2006/12/02            2006/12/09 
 -------------------------------------- 
 想要结果是:不同的StdID,且SDate是最大的记录,如果SDate相同取EDate最大, 
 既想要的结果为: 
 KeyID         StdID                  SDate                           EDate 
 A002               T1                  2006/10/13            2006/11/10 
 A005               T2                  2006/12/02            2006/12/09 
 请各位赐教,谢谢!     
------解决方案--------------------declare @a table(KeyID varchar(4) Primary Key,StdID varchar(2),SDate datetime,EDate datetime) 
 insert @a select  'A001 ',  'T1 ', '2006/10/13 ',  '2006/10/15 ' 
 union all select  'A002 ',  'T1 ',  '2006/10/13 ',  '2006/11/10 ' 
 union all select  'A003 ',  'T2 ',  '2006/12/01 ',  '2006/11/05 ' 
 union all select  'A004 ',  'T2 ',  '2006/12/02 ',  '2006/12/08 ' 
 union all select  'A005 ',  'T2 ',  '2006/12/02 ',  '2006/12/09 '   
 select stdid,sdate,max(edate) edate from @a group by stdid,sdate 
 select * from @a a where not exists(select 1 from 
 (select stdid,sdate,max(edate) edate from @a group by stdid,sdate) b where stdid=a.stdid and edate> a.edate)
------解决方案--------------------select * from TestTable a 
 where not exists (select 1 from TestTable where StdID = a.StdID and  
                   (SDate >  a.SDate or SDate = a.SDate and EDate >  a.EDate))
------解决方案--------------------  create table TestTable( 
 KeyID   varchar(4)  Primary Key, 
 StdID   varchar(2), 
 SDate   datetime, 
 EDate   datetime 
 ) 
 insert TestTable select  'A001 ',      'T1 ',       '2006-10-13 ',     '2006-10-15 ' 
 union all select  'A002 ',      'T1 ',       '2006-10-13 ',     '2006-11-10 ' 
 union all select  'A003 ',      'T2 ',       '2006-12-01 ',     '2006-11-05 ' 
 union all select  'A004 ',      'T2 ',       '2006-12-02 ',     '2006-12-08 ' 
 union all select  'A005 ',      'T2 ',       '2006-12-02 ',     '2006-12-09 '   
 select * from TestTable as tmp 
 wher