2016-10-25 2 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 코드를 캡처 코드에 대한 무엇을 : 나는에 대해 Microsoft Access에서 구문을보고 기대하고 있었는데이를 위해

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

Microsoft SQL Server 2012. 많은 레코드와 훨씬 더 많은 클레임 번호를 처리 할 것입니다. 소유권 주장에는 나열된 예보다 CPT 코드가 더 많거나 적을 수 있습니다.

임베디드 INDEX 및 MATCH 함수를 사용하여 Excel에서 이와 같은 작업을 수행 할 수 있습니까?

감사합니다.

+0

SQL Server 또는 액세스를 사용하고 있습니까? 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