Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

pivô sql dinâmico no servidor sql


Você está perto, mas para isso funcionar você tem que construir seu PIVOT usando SQL dinâmico e, em seguida, execute-o. Então, depois de preencher sua variável @Year, você precisa fazer algo assim:
DECLARE @Query VARCHAR(MAX)

SET @Query = '
SELECT * from ( SELECT Amount, FYYear, column1, column2,column3 from BUYSCTE ) BUY 
PIVOT( SUM(Amount) FOR FYYear in ('+ @Year + ') ) pvt'

EXEC(@Query)

Embora antes de fazer isso, você deve dar uma olhada este link .