Ho una tabella che ha le seguenti colonneSQL server selezionare righe distinte utilizzando più valore recente solo
- Id
- ForeignKeyId
- AttributeName
- AttributeValue
- Creato
Alcuni dei dati potrebbero essere:
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
Vorrei eseguire una query che tira il valore più recente della colonna AttributeValue per ogni distinto ForeignKeyId andAttributeName, utilizzando la colonna creata per determinare il valore più recente. L'output di esempio sarebbe:
ForeignKeyId AttributeName AttributeValue Created
-------------------------------------------------------
1 'EmailPreference' 'Text' 1/10/2010
2 'EmailPreference' 'Html' 1/8/2010
Come posso farlo utilizzando SQL Server 2005?
Il valore non deve essere 3, non 1, per EmailPreference/Text/1/10/2010? –
No, la prima colonna nell'output è l'ID della chiave esterna, non l'ID della riga – Chris