简体   繁体   English

PIVOT和温度表

[英]PIVOT and TEMP TABLE

please can you help me put this script into a temp table. 请您能帮我把这个脚本放到临时表中吗? i have been working on this for hours and it keeps giving me errors. 我已经为此工作了几个小时,并且一直给我错误。

    DECLARE @PivotColumnHeaders VARCHAR(MAX)
    SELECT @PivotColumnHeaders = 
    COALESCE(@PivotColumnHeaders + ',[' + CAST(expansion as varchar(max)) + ']',
    '[' + CAST(expansio

    n as varchar(max))+ ']')

INTO #temp
FROM (Select distinct expansion from #CD4_VL2) results


DECLARE @PivotTableSQL NVARCHAR(MAX)
SET @PivotTableSQL = N'
select * from
(
select subjectID,expansion,printableValue1
from #CD4_VL2) as results


PIVOT

(MAX([printableValue1])
FOR [expansion] IN (
' + @PivotColumnHeaders + '
)
) as PivotTable

--order by Performed_Date_And_Time desc
'

Execute(@PivotTableSQL )

Because you've pivoted on the expansion columns, the respective values of MAX(printableValue1) will now be in columns with the names of the data in the Expansion column. 因为您已经扩展到扩展列,所以MAX(printableValue1)的各个值现在将在Expansion列中带有数据名称的列中。 Change this like so: 像这样更改:

DECLARE @PivotColumnHeaders NVARCHAR(MAX) = 'Expansion1, Expansion2, Expansion3';

DECLARE @PivotTableSQL NVARCHAR(MAX);
SET @PivotTableSQL = 
N'select subjectID, ' + @PivotColumnHeaders 
+' from #CD4_VL2 
  PIVOT
(
  MAX([printableValue1])
  FOR [expansion] IN (' + @PivotColumnHeaders + ')) x';

Execute(@PivotTableSQL);

SqlFiddle here SqlFiddle在这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM