2016-10-25 51 views
0
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 

是否可以編寫將上述信息作爲一行返回的查詢?例如:將多條記錄作爲一行返回的SQL(Access)

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 Access的語法反對Microsoft SQL Server 2012.我將處理很多記錄和大得多的索賠號碼。索賠的CPT碼可能比列出的示例多或少。

也可以使用嵌入式INDEX和MATCH函數在Excel中做這樣的事情嗎?

謝謝你的時間。

+0

您使用的是SQL Server還是Access?有很多關於在SQL Server中進行CSV聚合的問題,你有嘗試過嗎? –

+0

我會主要使用Access。 –

+0

[將相關行的值合併爲單個連接字符串值]的可能重複(http://stackoverflow.com/questions/13278590/combine-values-from-related-rows-into-a-single-concatenated-string-值) – Andre

回答

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 
相關問題