반응형
Ant_U
DBA 개미
Ant_U
전체 방문자
오늘
어제
  • 분류 전체보기 (262)
    • AWS (3)
    • C# (1)
    • SQL (236)
      • MYSQL (186)
      • MSSQL (50)
    • 자격증 (20)
      • SQLD (12)
      • SQLP (8)

인기 글

최근 글

250x250
hELLO · Designed By 정상우.
Ant_U

DBA 개미

SQL/MSSQL

[MSSQL] 행 합치는 법(STRING_AGG, FOR XML PATH, STUFF)

2023. 7. 13. 11:37
728x90
반응형

MSSQL에서 행을 합치는 방법은 여러 가지가 있습니다. 

다음은 주요한 방법 몇 가지를 설명하겠습니다.

1. STRING_AGG 함수를 사용하여 행 합치기:
   - STRING_AGG 함수는 MSSQL 2017 버전부터 도입되었습니다.
   - 문자열 컬럼 값을 지정한 구분자로 연결하여 하나의 문자열로 합칩니다.
   - 예시:

   SELECT STRING_AGG(column_name, '; ') AS merged_rows
   FROM table_name


   

2. XML PATH와 STUFF 함수를 사용하여 행 합치기:
   - `FOR XML PATH` 절과 STUFF 함수를 조합하여 행을 합칠 수 있습니다.
   - 예시:

   SELECT STUFF((
       SELECT ', ' + column_name
       FROM table_name
       FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'), 1, 2, '') AS merged_rows



3. CROSS APPLY와 FOR XML PATH를 사용하여 행 합치기:
   - CROSS APPLY와 FOR XML PATH를 함께 사용하여 행을 합칠 수 있습니다.
   - 예시:

   SELECT c1.id, merged_rows
   FROM table_name c1
   CROSS APPLY (
       SELECT column_name + ', '
       FROM table_name c2
       WHERE c2.id = c1.id
       FOR XML PATH('')
   ) x(merged_rows)


   

위 방법들은 행을 합치는 일반적인 방법 중 몇 가지입니다. 

사용하고자 하는 특정 상황에 따라 적절한 방법을 선택하여 행을 합치는 작업을 수행할 수 있습니다.

728x90
반응형

'SQL > MSSQL' 카테고리의 다른 글

[MSSQL] @@LANGID 사용 방법 및 예시  (0) 2023.07.26
[MSSQL] @@DBTS 사용 방법 및 예시  (0) 2023.07.26
[MSSQL] @@DATEFIRST 사용 방법 및 예시  (0) 2023.07.26
[MSSQL] 열을 행으로 바꾸는 방법 / UNPIVOT, CROSS APLLY  (0) 2023.07.21
[MSSQL] FOR XML 사용 방법  (0) 2023.07.13
[MSSQL] @@ROWCOUNT 사용 방법 및 예시  (0) 2023.07.06
[MSSQL] STRING_SPLIT 문자열 분리 사용 방법  (1) 2023.05.24
[MSSQL] STRING_AGG 함수 사용 방법 및 예시  (0) 2023.04.03
    'SQL/MSSQL' 카테고리의 다른 글
    • [MSSQL] @@DATEFIRST 사용 방법 및 예시
    • [MSSQL] 열을 행으로 바꾸는 방법 / UNPIVOT, CROSS APLLY
    • [MSSQL] FOR XML 사용 방법
    • [MSSQL] @@ROWCOUNT 사용 방법 및 예시
    Ant_U
    Ant_U

    티스토리툴바