Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 需要某些类型的最新事件,其中该日期可能存在多个事件_Sql_Sql Server_Tsql_Sql Server 2000 - Fatal编程技术网

Sql 需要某些类型的最新事件,其中该日期可能存在多个事件

Sql 需要某些类型的最新事件,其中该日期可能存在多个事件,sql,sql-server,tsql,sql-server-2000,Sql,Sql Server,Tsql,Sql Server 2000,首先,我在SQL Server 2000中工作(尽管已经向联邦刺激计划的财神祈祷升级到2008年) 我有一份学生和教育活动的清单。我可以成功获取最近的事件,但它可能是多个事件的组合: StudentID Event Date 1 Triennial 7/1/2009 1 Annual 7/1/2009 2 Annual 3/3/2009 3 Annual

首先,我在SQL Server 2000中工作(尽管已经向联邦刺激计划的财神祈祷升级到2008年)

我有一份学生和教育活动的清单。我可以成功获取最近的事件,但它可能是多个事件的组合:

StudentID    Event      Date  
1            Triennial  7/1/2009  
1            Annual     7/1/2009  
2            Annual     3/3/2009  
3            Annual     6/23/2009  
3            Triennial  6/23/2009  
4            Annual     2/1/2009  
4            Triennial  2/1/2009  
5            Annual     10/1/2009  
一个活动日期可能有两个活动,“年度”和“三年一次”,也可能只有一个活动“年度”。如果是组合活动,我只想选择“三年一次”。如果只是年度活动,我只选择“年度”

基本上,每个活动都有“年度”,但有些活动也有“三年一次”,如果是三年一次,我需要选择该活动而不是“年度”。因此,对于上述数据,我希望得到如下结果:

StudentID    Event      Date  
1            Triennial  7/1/2009  
2            Annual     3/3/2009  
3            Triennial  6/23/2009  
4            Triennial  2/1/2009  
5            Annual     10/1/2009 
应该这样做……(三年一次比一年一次大)

SELECT StudentID, [Date], MAX(Event) AS [Event]
FROM   MyTable
GROUP BY StudentID, [Date]