여러 행을 쉼표로 구분된 단일 필드로 결합하는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!