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
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