• After reading this article - http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/dynamic-pivot-on-multiple-columns, I came up with the following solution:

    SELECT [Account], [Date], [Amt]

    , ROW_NUMBER() OVER (PARTITION BY DNUM ORDER BY EFTChkDate) AS rownum

    INTO #pmts

    FROM [Payments].[dbo].[PayData]

    GO

    DECLARE @sql nvarchar(MAX), @Cols nvarchar(max);

    SELECT @Cols = (select ', ' + 'MAX(case when rownum = ' + CONVERT(varchar(20), rownum) + ' then CONVERT(VARCHAR(10), EFTChkDate, 101) else NULL end) AS ChkDate' + CONVERT(varchar(20), rownum) +

    ', MAX(case when rownum = ' + CONVERT(varchar(20), rownum) + ' then EFTChkAmt else NULL end) AS ChkAmt' + CONVERT(varchar(20), rownum)

    from (select distinct rownum from #pmts) X ORDER BY rownum

    FOR XML PATH(''))

    SET @sql = 'SELECT DNUM' + @Cols + '

    FROM #pmts

    GROUP BY DNUM

    ORDER BY DNUM'

    EXECUTE(@sql)

    GO

    This worked perfectly for what I needed.

    Sean - Would you be so kind as to let me know how you formatted your SQL code in the boxes like that?

    -Jeremy