• IF object_id('tempdb..#testEnvironment') IS NOT NULL

    BEGIN

    DROP TABLE #testEnvironment;

    END;

    SELECT CAST(dtDate AS DATETIME) AS dtDate, sDocIdPrefix, CNT

    INTO #testEnvironment

    FROM (SELECT '2013-02-11', 653, 3683 UNION ALL

    SELECT '2013-02-11', 649, 1334 UNION ALL

    SELECT '2013-02-12', 647, 1422 UNION ALL

    SELECT '2013-02-12', 649, 6602 UNION ALL

    SELECT '2013-02-12', 653, 4781

    )a(dtDate,sDocIdPrefix,CNT);

    Sample data is: -

    dtDate sDocIdPrefix CNT

    ----------------------- ------------ -----------

    2013-02-11 00:00:00.000 653 3683

    2013-02-11 00:00:00.000 649 1334

    2013-02-12 00:00:00.000 647 1422

    2013-02-12 00:00:00.000 649 6602

    2013-02-12 00:00:00.000 653 4781

    Using the sample data above, then I think that this is what you're after: -

    DECLARE @SQL NVARCHAR(MAX);

    SELECT @SQL = 'SELECT dtDate,' + sqlCode + CHAR(13) + CHAR(10) + 'FROM #testEnvironment'+CHAR(13)+CHAR(10)+'GROUP BY dtDate;'

    FROM (SELECT STUFF((SELECT ',' + CHAR(13)+CHAR(10)+

    'MAX(CASE WHEN sDocIdPrefix = ' + CAST(sDocIdPrefix AS VARCHAR(20)) + ' THEN CNT ELSE 0 END) AS '+

    QUOTENAME(CAST(sDocIdPrefix AS VARCHAR(20)))

    FROM (SELECT DISTINCT sDocIdPrefix

    FROM #testEnvironment

    )a

    ORDER BY sDocIdPrefix DESC

    FOR XML PATH(''),TYPE

    ).value('.','VARCHAR(MAX)'),1,1,'')

    )dynSql(sqlCode)

    EXECUTE sp_executesql @SQL;

    Produces: -

    dtDate 653 649 647

    ----------------------- ----------- ----------- -----------

    2013-02-11 00:00:00.000 3683 1334 0

    2013-02-12 00:00:00.000 4781 6602 1422

    Look at how I laid out the sample data, it makes it considerably easier for people to help when it looks like that


    Forever trying to learn
    My blog - http://www.cadavre.co.uk/
    For better, quicker answers on T-SQL questions, click on the following...http://www.sqlservercentral.com/articles/Best+Practices/61537/
    For better, quicker answers on SQL Server performance related questions, click on the following...http://www.sqlservercentral.com/articles/SQLServerCentral/66909/