我有一个动态数据透视表,它返回带有更改列的表(一旦有2列,其他时间可以是5.我需要将表列名称包含在结果值中,如下例所示。我怎么能这样做?
SELECT
'John' AS Name,
'Malkovich' AS Surname
INTO #T
结果表应将'Name'和'Surname'作为值
Name, Surname (column names)
Name, Surname,
John, Malkovich
此致 Przemek
答案 0 :(得分:1)
您应该能够将列名称合并到您的数据透视表。例如:
declare @colNamesFormattedForSelect VARCHAR(MAX)
set @colNamesFormattedForSelect = '''Name'' as Name, ''Surname'' as Surname'
-- create this value dynamically for your pivot (glhf)
set @sql = 'SELECT ' + @colNamesFormattedForSelect +
'UNION ALL ' +
-- Your pivot here
当然,您的所有列都需要能够为此工作提供文本。
我真的建议重新检查一下您的用例,看看是否有比这更好的解决方案。在大多数情况下,有更好的方法来访问列名。