小编Sai*_*a M的帖子

将列名动态传递给 UNPIVOT

我有一个包含以下数据的表格

First         Second        Third         Fourth        Fifth         Sixth
2013-08-20    2013-08-21    2013-08-22    2013-08-23    2013-08-24    2013-08-25
Run Code Online (Sandbox Code Playgroud)

并使用 UNPIVOT

SELECT Data
    ,DATENAME(DW, Data) AS DayName
FROM Cal
UNPIVOT(Data FOR D IN (
            First,
            Second,
            Third,
            Fourth,
            Fifth,
            Sixth  )) AS unpvt
Run Code Online (Sandbox Code Playgroud)

我得到以下结果

Data        DayName
2013-08-20  Tuesday
2013-08-21  Wednesday
2013-08-22  Thursday
2013-08-23  Friday
2013-08-24  Saturday
2013-08-25  Sunday
Run Code Online (Sandbox Code Playgroud)

现在我的问题是我们可以动态地将列名传递给 the ,UNPIVOT以便当表中的列增加时我们可能不必更改语句。

sql-server sql-server-2008-r2 unpivot

11
推荐指数
1
解决办法
3万
查看次数

标签 统计

sql-server ×1

sql-server-2008-r2 ×1

unpivot ×1