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