집 >데이터 베이스 >MySQL 튜토리얼 >여러 SQL 행을 단일 쉼표로 구분된 열로 연결하는 방법은 무엇입니까?
여러 행을 쉼표로 구분된 단일 필드로 결합하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!