>데이터 베이스 >MySQL 튜토리얼 >T-SQL을 사용하여 쉼표로 구분된 값을 사용하여 여러 행을 단일 열로 결합하려면 어떻게 해야 합니까?

T-SQL을 사용하여 쉼표로 구분된 값을 사용하여 여러 행을 단일 열로 결합하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-12 09:53:43866검색

How Can I Combine Multiple Rows into a Single Column with Comma-Separated Values Using T-SQL?

T-SQL의 단일 열에 여러 값 반환

다양한 행에서 여러 값을 가져와 단일 열로 병합하는 것은 SQL Server 환경에서 일반적인 작업입니다. 이는 특정 사용자와 연결된 모든 별칭을 검색하는 등의 시나리오에서 특히 유용합니다.

이를 효율적으로 수행하려면 COALESCE 기능을 활용하는 사용자 정의 기능을 사용하는 것이 좋습니다. 이 접근 방식을 사용하면 검색된 값을 단일 문자열로 점진적으로 연결하여 궁극적으로 원하는 출력을 제공할 수 있습니다.

다음은 GetAliasesById라는 함수의 예입니다.

<code class="language-sql">CREATE FUNCTION [dbo].[GetAliasesById]
(
    @userID int
)
RETURNS varchar(max)
AS
BEGIN
    declare @output varchar(max)
    select @output = COALESCE(@output + ', ', '') + alias
    from UserAliases
    where userid = @userID

    return @output
END</code>

이 함수를 정의한 후 이를 쿼리에 통합하여 원하는 출력을 얻을 수 있습니다.

<code class="language-sql">SELECT UserID, dbo.GetAliasesByID(UserID)
FROM UserAliases
GROUP BY UserID</code>

이 쿼리는 UserID와 Aliases라는 두 개의 열이 있는 테이블을 반환합니다. 별칭 열에는 각 사용자와 연결된 모든 별칭의 쉼표로 구분된 목록이 포함되어 단일 열에 여러 값을 반환하도록 지정된 요구 사항을 충족합니다.

위 내용은 T-SQL을 사용하여 쉼표로 구분된 값을 사용하여 여러 행을 단일 열로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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