Imaginez les données de schéma et des exemples suivants (SQL Server 2008):utilisation de la variante de la clause GROUP BY dans 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)
J'ai besoin pour obtenir l'ID du dernier enregistrement ValueSet pour chaque OriginatingObject. Ne supposez pas que plus l'identifiant d'un enregistrement est élevé, plus il est récent. Je ne sais pas comment utiliser correctement GROUP BY afin de s'assurer que l'ensemble des résultats regroupés pour former chaque ligne d'agrégat inclut l'ID de la ligne avec la valeur DateStamp la plus élevée pour ce regroupement. Ai-je besoin d'utiliser une sous-requête ou existe-t-il un meilleur moyen?
Pour plus de clarté: vous voulez le plus récent ValueSet.ID pour chaque OriginatingObjectID? – Benjol
Benjol: correct. –