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
是否可以编写一个将上述信息作为一行返回的查询?例如:
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执行此类操作?
感谢您的时间。
答案 0 :(得分:0)
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