>데이터 베이스 >MySQL 튜토리얼 >여러 SQL 행을 단일 쉼표로 구분된 열로 연결하는 방법은 무엇입니까?

여러 SQL 행을 단일 쉼표로 구분된 열로 연결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-21 06:51:12986검색

How to Concatenate Multiple SQL Rows into a Single Comma-Delimited Column?

여러 행을 쉼표로 구분된 단일 필드로 결합하는 SQL 기술

여러 데이터 행을 쉼표로 구분하여 단일 열로 집계하는 것은 데이터 조작에서 자주 요구되는 작업입니다. 이 가이드에서는 Microsoft SQL Server 2005 이상을 중심으로 SQL을 사용하여 이러한 연결을 수행하는 방법을 보여줍니다.

SQL Server 솔루션은 다음과 같습니다.

<code class="language-sql">SELECT t.TicketID,
       STUFF(ISNULL((SELECT ', ' + x.Person
                FROM @Tickets x
               WHERE x.TicketID = t.TicketID
            GROUP BY x.Person
             FOR XML PATH (''), TYPE).value('.','VARCHAR(max)'), ''), 1, 2, '') AS ConcatenatedPersons
  FROM @Tickets t
GROUP BY t.TicketID</code>

이 접근 방식은 STUFF 함수를 사용하여 연결된 문자열에서 선행 쉼표를 효율적으로 제거합니다. 중첩 쿼리는 FOR XML PATH을 활용하여 각 Person과 연결된 개별 TicketID 값에서 쉼표로 구분된 목록을 만듭니다. ISNULL 함수는 특정 티켓 ID와 연결된 사람이 없는 경우를 처리합니다. 결과는 각 티켓에 대한 쉼표로 구분된 사람 목록을 포함하는 단일 열(ConcatenatedPersons)입니다. 이 방법은 SQL Server 내에서 원하는 연결을 달성하는 깔끔하고 효율적인 방법을 제공합니다. 최적의 결과를 얻으려면 이 기술을 특정 테이블 및 열 이름에 적용하세요.

위 내용은 여러 SQL 행을 단일 쉼표로 구분된 열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.