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

时间:2009-10-02 16:02:20

标签: sql sql-server tsql sql-server-2000

首先,我正在使用SQL Server 2000(尽管已经向Federal Stimulus Money众神祈祷升级到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 

1 个答案:

答案 0 :(得分:1)

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

应该这样做.....(三年展“大于”年度)