(MS Sql Serverを使用して)SQLクエリを理解できません。1つのIDを持つアイテムが複数の行を持つことができるデータセットから単一の行を取得しようとしています。私を失望させているのは、正しい行が「階層」に基づいている必要があるということです。問題にcaseステートメントを投げようとしています。
いくつかのサンプルデータ:
Id Class Date
100 Red 2012-12-12
100 Blue 2012-12-31
200 Red 2012-10-31
300 Green 2012-04-04
300 Blue 2011-09-01
Classの値に基づいて単一の行を返したい。
Case When Red Then
Date
Case When Blue Then
Date
Case When Green Then
Date
Else
''
最終的なデータセットは次のようになります。
Id Class Date
100 Red 2012-12-12
200 Red 2012-10-31
300 Blue 2011-09-01
したがって、重複する行の1つにRedの値がある場合は、最初にその行の日付を使用します。次に青、次に緑。
サブクエリ、グループバイ、持ち物、ケースステートメント、派生テーブルで遊んで、一日中これに取り組んできました。しばらく経っているので、私は自分のsqlスキルにかなり錆びています。
私がとるべき方向についてのヒントはありますか?