>데이터 베이스 >MySQL 튜토리얼 >FOR XML PATH()를 사용하여 T-SQL에서 여러 레코드의 필드를 연결하는 방법은 무엇입니까?

FOR XML PATH()를 사용하여 T-SQL에서 여러 레코드의 필드를 연결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-15 07:58:46242검색

How to Concatenate Fields from Multiple Records in T-SQL Using FOR XML PATH()?

FOR XML PATH()를 사용하여 T-SQL에서 여러 레코드의 필드 결합

다대다 관계의 여러 테이블이 있는 특정 시나리오에서는 하위 쿼리와 FOR XML PATH() 함수를 사용하여 필수 필드를 조인할 수 있습니다. 원하는 결과를 얻는 방법은 다음과 같습니다.

<code class="language-sql">SELECT  *,
        ( 
            SELECT  u.FName + ', '
            FROM    @Users u INNER JOIN 
                    @Reviewers rs ON u.UserID = rs.UserID
            WHERE   rs.ReviewID = r.ReviewID
            FOR XML PATH('')
        ) AS Users
FROM    @Reviews r</code>

이 쿼리는 먼저 @Reviews, @Reviewers 및 @Users 테이블을 조인하여 통합 데이터 세트를 생성합니다. 그런 다음 하위 쿼리를 사용하여 연결된 각 ReviewID에 대해 @Users에서 FName 열을 선택합니다. FOR XML PATH() 함수는 이러한 FName 값을 쉼표로 구분된 문자열로 연결합니다.

마지막으로 생성된 연결 문자열이 기본 SELECT 문의 "사용자" 열에 할당됩니다. 출력은 다음과 같습니다.

<code>ReviewID    ReviewDate          Users
1           2009-01-12          Bob, Joe, Frank
2           2009-01-25          Sue, Alice</code>

위 내용은 FOR XML PATH()를 사용하여 T-SQL에서 여러 레코드의 필드를 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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