我有一个这样的查询结果:更改列名在动态SQL
Date User1 User2 User3 ....
----------------------------------
1/1/2000 55 78 98 ...
1/1/2001 26 33 56 ...
1/1/2002 88 67 12 ...
不知道列的数字,因为它是一个支点查询的结果。
我想列更改名称的东西,看起来像这样:
Date User1 (blue) User2 (green) User3(brown)
颜色是我从另一个表中检索信息。
我该如何做到这一点?
谢谢
编辑:这是查询。
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(C.Name)
from [History]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT [Date],' + @cols +'
from
(
select [Date], Name, Value
from [History]
) x
pivot
(
max(value)
for Name in (' + @cols + ')
) p '
execute(@query)
然后显示您的查询给你这个结果。 – hims056 2013-04-24 07:03:36
这些值是从哪里来的?蓝色,绿色,棕色来自哪里?你想为每个用户名手动编写它们吗?如果是这样,然后手动列出列名不动态,因为你会手动编写颜色的名字。 – 2013-04-24 07:09:24
***列数是未知的,因为它是数据透视查询的结果。***请向我们显示查询。 – Luv 2013-04-24 07:10:25