【发布时间】:2011-03-08 10:39:13
【问题描述】:
我正在尝试从 DB 中获取一个列,该列返回取决于行数据的变量列名。我知道我可以使用动态 SQL 获得可变列名,但如果名称实际上取决于行的信息怎么办。
SELECT name,age FROM dbo.Names
--将 'name' 重新作为列名
SELECT name as [xyz],age FROM dbo.Names
--返回 'xyz' 作为列名
EXEC 'SELECT name as [' + @var + '], age FROM dbo.Names'
--将@var 值作为列名返回
SELECT name AS ['Hi: ' + age ] FROM dbo.Name ?????
--所以我试图将 'Hi: 25' 或 'Hi: 40' 作为列名
我该怎么做?有什么帮助吗?
【问题讨论】:
-
您应该提供数据示例和预期的列名
-
一方面我怀疑这是否是一个好主意,大概只有一个值,因为列不能有不同的名称,具体取决于行,所以你不能检索它并且使用你的方法三?
标签: sql-server-2005 dynamic-sql