집 >데이터 베이스 >MySQL 튜토리얼 >T-SQL에서 여러 검토자의 이름을 단일 쉼표로 구분된 문자열로 연결하는 방법은 무엇입니까?
T-SQL의 여러 레코드 필드 조합
T-SQL에서는 다른 필드를 기반으로 여러 레코드의 필드를 그룹화해야 하는 경우가 많습니다. 다음 시나리오를 고려해보세요.
세 개의 테이블이 있습니다: 리뷰, 리뷰어, 사용자. 리뷰 테이블에는 ReviewID 및 ReviewDate가 포함되어 있습니다. Reviewers 테이블에는 ReviewerID, ReviewID 및 UserID가 포함되어 있습니다. 마지막으로 Users 테이블에는 UserID, FName 및 LName이 포함됩니다.
도전:
각 리뷰 목록에는 해당 리뷰 날짜와 해당 리뷰와 관련된 모든 리뷰어의 이름이 쉼표로 구분된 목록이 포함되어 있습니다. 원하는 출력은 다음과 같습니다.
<code>ReviewID---ReviewDate----Users ---------------------------- 1----------12/1/2009-----Bob, Joe, Frank 2----------12/9/2009-----Sue, Alice</code>
대신:
<code>ReviewID---ReviewDate---User ---------------------------- 1----------12/1/2009----Bob 1----------12/1/2009----Joe 1----------12/1/2009----Frank 2----------12/9/2009----Sue 2----------12/9/2009----Alice</code>
해결책:
이 문제를 해결하는 한 가지 방법은 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>
다음은 검색어 분석입니다.
1행: Reviews 테이블에서 필요한 열(ReviewID 및 ReviewDate)을 선택합니다.
4-9행: 하위 쿼리를 사용하여 각 댓글에 대해 쉼표로 구분된 이름 목록을 검색합니다.
10행: 하위 쿼리의 결과는 Users로 별칭이 지정됩니다.
이 수정된 출력에서는 별칭을 명확히 하고 가독성을 높였습니다. 핵심 기능은 동일하게 유지되어 리뷰어 이름을 쉼표로 구분된 문자열로 효율적으로 연결합니다.
위 내용은 T-SQL에서 여러 검토자의 이름을 단일 쉼표로 구분된 문자열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!