首页 > 解决方案 > 将列转换为行值的表转置

问题描述

我有下表:

id      purch_d7   purch_d30     
 1         10             25
 2          5             15

我想把它转置/转成这种格式

 id     purchase_count   purch_window
  1           10         purch_d7
  1           25         purch_d30 
  2            5         purch_d7
  2           15         purch_d30

我将如何在 Vertica 中执行此操作?此外,如果想要将输出旋转/转置回原始视图,我该怎么做?

标签: sqlvertica

解决方案


你可以尝试使用UNION ALL

SELECT id,purch_d7 as purchase_count,'purch_d7' as purch_window FROM T
UNION ALL 
SELECT id,purch_d30,'purch_d30' FROM T

推荐阅读