> >SELECT @DynamicPivotQuery = >N'SELECT Station, CarGroup, CarNo,' + @ColumnName + >'FROM >( > SELECT R.PickUpStation as Station, R.CarGroup, R.CarNo, REPLACE(CONVERT(VARCHAR(6), D.[Date], 100), '' '', '''') AS DateString > FROM dbo.FleetTrack AS R > INNER JOIN #Date AS D > ON R.PickUpDate <= D.Date > AND R.DropOffDate >= D.Date > ) AS Reservation >PIVOT >( > COUNT(DateString) > FOR DateString IN (' + @ColumnName + ') >) AS pvt >ORDER BY pvt.Station, pvt.CarGroup, pvt.CarNo' >EXECUTE sp_executesql @DynamicPivotQuery; >>
SELECT @DynamicPivotQuery = N'SELECT Station, CarGroup, CarNo,' + @ColumnNames + ' INTO myNewPivotTable FROM ( SELECT R.PickUpStation as Station, R.CarGroup, R.CarNo, REPLACE(CONVERT(VARCHAR(6), D.[Date], 100), '' '', '''') AS DateString FROM dbo.FleetTrack AS R INNER JOIN #Date AS D ON R.PickUpDate <= D.Date AND R.DropOffDate >= D.Date ) AS Reservation PIVOT ( COUNT(DateString) FOR DateString IN (' + @ColumnNames + ') ) AS pvt ORDER BY pvt.Station, pvt.CarGroup, pvt.CarNo' EXECUTE sp_executesql @DynamicPivotQuery;