顧客のリスト、属性、および日付を含む一種の属性レコード テーブルがあります。このテーブルは、すべての顧客の現在の属性値で月に 1 回更新されます。
id attr_val date
1 red 2012-01-01
1 red 2012-02-01
1 blue 2012-03-01
2 green 2012-01-01
2 green 2012-02-01
2 green 2012-03-01
各属性値の開始日と終了日がリストされるように、このテーブルを再キャストまたは転置したいと考えています。そうすれば、任意の日付date between start_dt and end_dt
を取得して、その日付の値を取得できます。
id attr_val start_dt end_dt
1 red 2012-01-01 2012-02-28
1 blue 2012-03-01 NULL
2 green 2012-01-01 NULL
これは単一の SQL コマンドで可能ですか、それともより複雑なスクリプトを実行する必要がありますか? ターゲット環境は Teradata ですが、ソリューションはプラットフォームに依存しないと思います...