想象一下下面的架构和样本数据(SQL Server 2008中):变体使用GROUP BY子句中TSQL
OriginatingObject
----------------------------------------------
ID
1
2
3
ValueSet
----------------------------------------------
ID OriginatingObjectID DateStamp
1 1 2009-05-21 10:41:43
2 1 2009-05-22 12:11:51
3 1 2009-05-22 12:13:25
4 2 2009-05-21 10:42:40
5 2 2009-05-20 02:21:34
6 1 2009-05-21 23:41:43
7 3 2009-05-26 14:56:01
Value
----------------------------------------------
ID ValueSetID Value
1 1 28
etc (a set of rows for each related ValueSet)
我需要获得最新的ValueSet记录每个OriginatingObject的ID。不要认为记录的ID越高,越新。
我不知道如何正确使用GROUP BY,以确保组合在一起以形成每个聚合行的结果集包括具有该分组的最高DateStamp值的行的ID。我需要使用子查询还是有更好的方法?
澄清:你想为每个OriginatingObjectID最近的ValueSet.ID? – Benjol 2009-07-27 11:34:18
Benjol:对。 – 2009-07-27 11:36:14