SQL Server:透视帮助/动态命名前缀的列+另一列的值

时间:2014-05-06 17:00:58

标签: sql sql-server

我有一个相当长的SQL查询,并希望根据另一列的内容动态构建一些列名。我正在使用SQL Server 2012.有没有一种简单的方法可以在不动态构建整个查询的情况下执行此操作?我是SQL的新手,我正在做类似的事情:

从这张表开始:

|A|B|C|D|
---------
 p 1 x l
 p 2 y m
 q 1 x l
 q 2 y m

到此表:

|A|C1|C2|D1|D2|
---------------
 p x  y  l  m
 q x  y  l  m

通过在B上旋转C和D列并通过将一些前缀与B列中的值连接来命名它们。但是却找不到对我的SQL技能来说似乎不太复杂的任何东西。

我决定能够对列进行硬编码,然后根据B列中的值动态命名。

1 个答案:

答案 0 :(得分:0)

你想这样做吗?

SELECT  
    CurrentMonthAndYear = CONCAT('Month_', MONTH(GETDATE()))

产生

的输出
CurrentMonthAndYear 
-------------------
Month_5

截至今日(2014年5月)。