your programing

여러 행에서 하나의 쉼표로 구분 된 값

lovepro 2020. 10. 4. 12:55
반응형

여러 행에서 하나의 쉼표로 구분 된 값 [중복]


SQL Server에서 테이블 값 함수를 만들고 쉼표로 구분 된 값으로 데이터를 반환하려고합니다.

예를 들어 테이블 : tbl

ID | Value
---+-------
 1 | 100
 1 | 200
 1 | 300     
 1 | 400 

이제 함수를 사용하여 쿼리를 실행하면 Func1(value)

SELECT Func1(Value) 
FROM tbl 
WHERE ID = 1

내가 원하는 출력은 다음과 같습니다. 100,200,300,400


테스트 데이터

DECLARE @Table1 TABLE(ID INT, Value INT)
INSERT INTO @Table1 VALUES (1,100),(1,200),(1,300),(1,400)

질문

SELECT  ID
       ,STUFF((SELECT ', ' + CAST(Value AS VARCHAR(10)) [text()]
         FROM @Table1 
         WHERE ID = t.ID
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') List_Output
FROM @Table1 t
GROUP BY ID

결과 세트

╔════╦═════════════════════╗
║ ID ║     List_Output     ║
╠════╬═════════════════════╣
║  1 ║  100, 200, 300, 400 ║
╚════╩═════════════════════╝

참고 URL : https://stackoverflow.com/questions/21760969/multiple-rows-to-one-comma-separated-value

반응형