首先,我使用的是SQL Server2000(尽管已经有人向联邦刺激资金之神祈祷,希望能升级到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 发布于 2009-10-02 16:08:31
SELECT StudentID, [Date], MAX(Event) AS [Event]
FROM MyTable
GROUP BY StudentID, [Date]应该这样做……(三年一次是“大于”一年)
https://stackoverflow.com/questions/1510460
复制相似问题