>데이터 베이스 >MySQL 튜토리얼 >T-SQL에서 다중 검토와 관련된 사용자 이름을 그룹화하고 연결하는 방법은 무엇입니까?

T-SQL에서 다중 검토와 관련된 사용자 이름을 그룹화하고 연결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-15 09:23:43783검색

How to Group and Concatenate User Names Associated with Multiple Reviews in T-SQL?

T-SQL: 여러 리뷰의 사용자 이름 결합

여러 관련 테이블의 데이터를 쉼표로 구분된 단일 문자열로 집계하는 것은 데이터베이스 관리에서 자주 요구되는 사항입니다. 이 예에서는 특히 리뷰, 리뷰어 및 사용자 간의 다대다 관계에 대해 이를 달성하기 위한 T-SQL 접근 방식을 보여줍니다.

하위 쿼리를 사용한 간결한 솔루션은 효과적인 방법을 제공합니다.

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

다음은 분석입니다.

  • @Reviews: 이 테이블에는 리뷰 세부 정보(ReviewID, ReviewDate)가 저장됩니다.
  • @Reviewers: 이 테이블은 리뷰와 리뷰어(ReviewerID, ReviewID, UserID)를 연결합니다.
  • @Users: 이 테이블에는 사용자 정보(UserID, FName, LName)가 포함됩니다.
  • 내부 SELECT 문은 @Users@Reviewers를 결합하여 각 리뷰와 관련된 이름(FName)을 검색합니다.
  • FOR XML PATH('')FName 값을 쉼표로 구분된 단일 문자열로 효율적으로 연결합니다.

이 쿼리는 결과를 ReviewID별로 그룹화하여 ReviewID, ReviewDate 및 관련 사용자 이름의 쉼표로 구분된 목록을 포함하여 각 리뷰가 단일 행으로 표시되는 통합 출력을 생성합니다. 이는 각 리뷰와 관련된 여러 사용자 이름을 단일 기록으로 결합해야 하는 필요성을 직접적으로 해결합니다.

위 내용은 T-SQL에서 다중 검토와 관련된 사용자 이름을 그룹화하고 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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