Skip to content Skip to sidebar Skip to footer

Another Pivot With Dynamic Fields

I have a view defined as follows: Select IdSezioneDonatore, NumeroDonatore, Anno, DonaAnno From dbo.DonazioniAnnue Where (Anno>= YEAR(GETDATE())-4) I will return the following

Solution 1:

DECLARE @QUERY NVARCHAR(MAX)

DECLARE @Annos TABLE(Anno INT)

INSERT INTO @Annos
SELECT DISTINCT Anno FROM TEST

DECLARE @Annuals VARCHAR(MAX)
DECLARE @Annuals_New VARCHAR(MAX)

SELECT @Annuals = COALESCE(+@Annuals+'],[' ,'[') +CONVERT(VARCHAR(10),A.Anno)
FROM @Annos A

SET @Annuals_New = @Annuals+']' 
SELECT @QUERY='SELECT * FROM TEST PIVOT (MAX(DonaAnno) FOR Anno IN ('+@Annuals_New+'))AS [pivot]'

EXEC SP_EXECUTESQL  @QUERY

This would help. ;-)


Post a Comment for "Another Pivot With Dynamic Fields"