次のようなデータのテーブルがあります。
[ID]、[State]、[foo]、[DateCreated]、[DateUpdated]
これに取り組む時間が長くなるほど、SQLが醜くなり、おそらく何か間違ったことをしていることがわかります。私が欲しいのは、fooがその状態で常に同じである限り、各状態の一意のリストです(fooがその状態のすべてのレコードで同じでない場合、その状態はまったく必要ありません)。また、DateCreatedとDateUpdatedを結合し、その状態の最大値が必要です。
したがって、このデータを考えると:
[ID], [State], [foo], [DateCreated], [DateUpdated]
1, MA, data1, 05/29/2012, 06/02/2012
2, MA, data1, 05/29/2012, 06/03/2012
3, RI, data2, 05/29/2012, NULL
4, RI, data3, 05/29/2012, NULL
5, NH, data4, 05/29/2012, NULL
6, NH, data4, 05/29/2012, 06/05/2012
これらの結果のみが必要です。
[State], [foo], [LastUpdated]
MA, data1, 06/03/2012
NH, data4, 06/05/2012
私が求めているものを手に入れるための最もエレガントな方法は何ですか?