我有一個這樣的查詢結果:更改列名在動態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