【问题标题】:SQL - can the rows and columns be easily transposed?SQL - 行和列可以轻松转置吗?
【发布时间】:2015-12-10 18:40:25
【问题描述】:

我从一个查询中设置了下表,我在每列求和

201501 | 201502 | 201503 | 201504 | ... | 201512

xxxxxx | xxxxxx | xxxxxx | xxxxxx | ... | xxxxx

我需要这张表来转置:

       | Amount |
201501   xxxxxx
201502   xxxxxx
201503   xxxxxx
...
201512   xxxxxx

有没有简单的方法来解决这个问题?感谢您的帮助,如果有帮助,我也可以发布查询,谢谢!

【问题讨论】:

  • 这听起来像是一个数据透视表问题。您使用的是什么数据库引擎?
  • 具体来说,UNPIVOT,但如果不知道您使用的是哪个 RDBMS,就无法说得更多。
  • 我正在使用 SQL Server
  • 那你在找UNPIVOT

标签: sql sql-server transpose


【解决方案1】:

您可以使用unpivot 来执行此转置。根据需要添加其他列。

SQL Fiddle

select datecolumn, amount from
(select * from tablename) t
unpivot
(amount for datecolumn in ([201501],[201502],[201503],[201504],[201505],[201506])) u

【讨论】:

    猜你喜欢
    • 2012-01-22
    • 2021-05-18
    • 2011-06-19
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2011-03-10
    • 2019-06-21
    • 2011-02-02
    相关资源
    最近更新 更多