declare @cols VARCHAR(8000)set @cols = dbo.[getAllDaysInYear]()SELECT LEN(@cols) -- should be 4757DECLARE @query VARCHAR(max)SET @query = N'SELECT userid, '+@cols +' FROM ( select userId,CONVERT(VARCHAR(10), loggedDate, 120) as loggedDate,logCount from loginStats ) AS Q1 PIVOT ( sum( logCount) FOR loggedDate IN ('+@cols +') ) AS Q2'SELECT LEN(@query) -- should be 4757 * 2 plus 50 or so
declare @cols VARCHAR(8000)set @cols = '[2012-01-07],[2012-01-08],[2012-01-09],[2012-01-10],[2012-01-11],[2012-01-12],[2012-01-13],[2012-01-14],[2012-01-15],[2012-01-16]'DECLARE @query VARCHAR(max)SET @query = N'SELECT userid, '+@cols +' FROM ( select userId,CONVERT(VARCHAR(10), loggedDate, 120) as loggedDate,logCount from loginStats ) AS Q1 PIVOT ( sum( logCount) FOR loggedDate IN ('+@cols +') ) AS Q2'print @queryEXECUTE(@query)
print substring(@query, LEN(@query) - 100, 120)