Представьте себе следующие схемы и примеры данных (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. Не предполагайте, что чем выше идентификатор записи, тем она более поздняя.
Я не уверен, как правильно использовать GROUP BY, чтобы убедиться, что набор результатов, сгруппированных вместе для формирования каждой совокупной строки, содержит идентификатор строки с самым высоким значением DateStamp для этой группировки. Нужно ли использовать подзапрос или есть лучший способ?
Для уточнения: Вам нужен самый последний ValueSet.ID для каждого OriginatingObjectID? – Benjol
Benjol: правильный. –