Sql server 2008 mssql 2008-使用变量作为列名

Sql server 2008 mssql 2008-使用变量作为列名,sql-server-2008,variables,names,Sql Server 2008,Variables,Names,我已经搜索了很多使用变量名作为列名,但是我什么也找不到。我有一个表,下面有nameMaster列和xVariable、yVariable、zVariable。我知道我可以使用: case nameMaster when 'xVariable' then total else 0 end AS xVariable case nameMaster when 'yVariable' then total else 0 end AS yVariable case nameMaster when 'zVa

我已经搜索了很多使用变量名作为列名,但是我什么也找不到。我有一个表,下面有nameMaster列和xVariable、yVariable、zVariable。我知道我可以使用:

case nameMaster when 'xVariable' then total else 0 end AS xVariable
case nameMaster when 'yVariable' then total else 0 end AS yVariable
case nameMaster when 'zVariable' then total else 0 end AS zVariable
但是,我喜欢在循环中执行此操作,而不是手动执行

我的桌子是这样的:

nameMaster | total
---------------------
xVariable  | 10.000
yVariable  | 20.000
zVariable  | 30.000
xVariable | yVariable | zVariable
---------------------------------
10.000      20.000       30.000
我想展示的是这样的:

nameMaster | total
---------------------
xVariable  | 10.000
yVariable  | 20.000
zVariable  | 30.000
xVariable | yVariable | zVariable
---------------------------------
10.000      20.000       30.000

提前感谢。

您想要实现的是透视表,它将根据您的列选择将列转换为行


您可以在文章中查看pivot是如何发生的。

非常感谢Jigar!!这就是我一直在寻找的。另请参阅中Roman Pekar的动态列解决方案