我有一个SQL Server 2005的表以下数据:如何在单个语句中执行选择?
idHearing是主键(身份证),idCase是可以复制的外键。 StartDate和StartTime指定事件的日期和时间 - 两个字段都是DateTime类型(无论出于何种原因,这些是单独的字段)。所有StartDate数据的时间为12:00:00。所有StartTime数据的日期为1/1/1900。 IsScheduled和IsOnCalendar是位域。
我的挑战是为每个idCase选择最新的(按日期/时间)听力。如果StartDate/StartTime与第1行和第2行相同(如第1行和第2行中所示),则应优先选择启用了IsScheduled和/或IsCalendar的行。如果这些列是相同的,那么返回哪一行并不重要。
为了使这更加复杂,我必须在单个SELECT语句中完成所有操作(因为它必须位于视图中),并且必须返回下面显示的所有列。
我已经尝试了几种方法,但是我的SQL-FU不强。有任何想法吗?
+1:祝贺制作10K :) – 2010-08-01 05:19:10
非常感谢。 – spender 2010-08-02 00:14:11
为了纪念你过关10k的障碍,请接受。 – AngryHacker 2010-08-06 03:25:44