SQL Server sélectionne des lignes distinctes en utilisant uniquement la valeur la plus récente

J'ai une table contenant les colonnes suivantes

  • Id
  • ForeignKeyId
  • Nomattribut
  • AttributeValue
  • Créé

Certaines données peuvent ressembler à ceci:

1, 1, 'EmailPreference', 'Text', 1/1/2010
2, 1, 'EmailPreference', 'Html', 1/3/2010
3, 1, 'EmailPreference', 'Text', 1/10/2010
4, 2, 'EmailPreference', 'Text', 1/2/2010
5, 2, 'EmailPreference', 'Html', 1/8/2010

J'aimerais exécuter une requête qui tire le plus récent de la valeur de l'Attribut colonne pour chaque distinctes ForeignKeyId andAttributeName, à l'aide de la colonne Créé pour déterminer la valeur la plus récente. Exemple de sortie serait:

ForeignKeyId AttributeName    AttributeValue Created
-------------------------------------------------------
1           'EmailPreference' 'Text'         1/10/2010
2           'EmailPreference' 'Html'         1/8/2010

Comment puis-je faire cela à l'aide de SQL Server 2005?

source d'informationauteur Chris