私はデータの表を持っています:
|Key|Field |DateField |
|A |Value1|2012-06-01|
|A |Value2|2012-06-02|
|A |Value3|2012-06-03|
|B |Value4|2012-06-04|
|B |Value5|2012-06-05|
グループのように、この文字列データをキーごとに集計したいのですが、その方法がわかりません。最終的には次のようになります。
|Key|Field Aggregate |
|A |Value1, Value2, Value3|
|B |Value4, Value5 |
さらに良いのは、シーケンスの順序が対応する日付フィールドの順序によって決定されるアグリゲーションに挿入されたシーケンスの位置で終わることです。
|Key|Field Aggregate |
|A |1: Value1, 2: Value2, 3: Value3|
|B |1: Value4, 2: Value5 |
これは、共通テーブル式を使用して実行できることのように見えますが、その方法を理解できないようです。
通常、SQLでこの種の操作を実行することはありません。通常、データをアプリにプルし、必要に応じてコードで操作します。
残念ながら、この場合、これはオプションではないようです。
SQL Server2005T-SQLでこれを行うにはどうすればよいですか。
CTEは正しいアプローチですか?もっと適切なものはありますか?