SQL (Access) 将多条记录作为一行返回

SQL (Access) returning multiple records as one row

ClaimNo, Diag1, Diag2, Diag3, Diag4, CPT Code
   1     v912                        97729
   1     v912   762.3                81029
   1     v912   762.3  333.9         15321 
   1     v912   762.3  333.9  213.0  71100

是否可以将returns上述信息写成一行的查询?例如:

ClaimNo, Diag1, Diag2, Diag3, Diag4, CPT Codes
   1     v912   762.3  333.9  213.0  97729, 81029, 15321, 71100

这可能更简单一些,但是如果代码只是将不同的 CPT 代码捕获为一条记录呢:

ClaimNo, CPT Codes
   1     97729, 81029, 15321, 71100

为此,我希望看到针对 Microsoft SQL Server 2012 的 Microsoft Access 语法。我将处理许多记录和更大的索赔编号。索赔的 CPT 代码可能多于或少于所列示例。

是否也可以使用嵌入式 INDEX 和 MATCH 函数对 Excel 执行类似的操作?

感谢您的宝贵时间。

BEGIN TRAN
CREATE TABLE #Temp(ClaimNo VARCHAR(100),Diag1 VARCHAR(100),Diag2 VARCHAR(100),Diag3 VARCHAR(100),Diag4 VARCHAR(100),CPTCode VARCHAR(100))

INSERT INTO #Temp(ClaimNo ,Diag1,Diag2,Diag3,Diag4,CPTCode)
SELECT '1','v912','','','','97729' UNION ALL
SELECT '1','v912','762.3','','','81029' UNION ALL
SELECT '1','v912','762.3','333.9','','15321' UNION ALL
SELECT '1','v912','762.3','333.9','213.0','71100' 

SELECT ClaimNo , STUFF((SELECT ',' + CPTCode FROM #Temp FOR XML PATH('')),1,1,'')
FROM #Temp
GROUP BY ClaimNo


ROLLBACK TRAN