数据透视表,其中列名基于行值

时间:2014-01-21 04:53:49

标签: sql postgresql

我想知道如何制作包含时间序列数据的数据透视表,其中每列代表不同的产品。通常,列名称为:

date  |  var1  |  var2  |  var3  |  (etc...)

例如,如果我们有以下数据:

 date                 price        discount_rate          maturity_date
 9/15/2013            45           3                      2013
 9/15/2013            46           3                      2014
 9/16/2013            47           3                      2013
 9/16/2013            41           2                      2014

然后我们将根据命名约定

拥有三个不同的产品名称
 *var*_*discount*_*rate_maturity_date* 

每个都是它自己的列标题,第一列是日期。名称的第一部分 series 将是硬编码的,但名称的其余部分应基于不同记录中的值构建。例如,上表中的数据将以以下形式返回:

 date                 series_3_2013  series_3_2014  series_3_2_2014
 9/15/2013            45             46             NA
 9/16/2013            47             NA             41

这样的查询是否可以在PostgreSQL中编写?感谢您的任何建议。

0 个答案:

没有答案