【发布时间】:2013-01-15 19:48:29
【问题描述】:
我有一个属性记录表,其中包含客户列表、属性和日期。此表每月更新一次,其中包含所有客户的当前属性值。
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,但我认为解决方案与平台无关...
【问题讨论】:
-
end_dt似乎与您的示例数据无关。
标签: sql date version transpose