【问题标题】:Pivot a one row column T-SQL透视单行列 T-SQL
【发布时间】:2011-03-22 05:09:53
【问题描述】:

我有一个从查询返回的单行表,看起来像这样

[Date1] [Date2] [Date3] [Date4] [Date5] [Date6]

我希望所有日期都像这样堆叠

[Date1]
[Date2]
[Date3]
[Date4]
[Date5]
[Date6]

如果没有一堆单独的查询和联合语句,我将如何执行此操作?我尝试过使用 PIVOT 函数,但很困惑,因为没有什么可以聚合行。

【问题讨论】:

    标签: sql tsql select date pivot


    【解决方案1】:

    尝试使用 UNPIVOT,如下所示:

    SELECT Dates
    FROM 
        (SELECT * from yourtable) p
    UNPIVOT
        (Dates FOR Seq IN 
            ([Date1], [Date2], [Date3], [Date4], [Date5], [Date6])
    ) AS unpvt
    

    【讨论】:

    • @Pieces,Seq 不是关键字,它是列别名。如果您将 SELECT Dates... 更改为 SELECT Seq, Dates... 您将看到未透视的列名称作为 Seq 列中的值。 (我用它作为“Sequence”的缩写。)
    猜你喜欢
    • 2015-10-29
    • 2012-04-09
    • 2017-02-22
    • 1970-01-01
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2012-08-25
    相关资源
    最近更新 更多