sql >> Database teknologi >  >> RDS >> Sqlserver

dynamisk sql pivot i sql server

Du er tæt på, men for at dette skal virke skal du konstruere din PIVOT ved at bruge dynamisk SQL og derefter udføre det. Så efter at du har udfyldt din variabel @Year, skal du gøre noget som dette:

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)

Før du gør dette, bør du dog tage et kig på dette link .




  1. Henter række før og efter en forespørgsel

  2. mysql erstatte tegn med accent

  3. Almindelige fejl i DBA i MS SQL Server

  4. Formularen gemmes ikke i databasen