T-SQL을 사용하여 여러 값을 단일 열로 반환
단일 속성에 대해 여러 값이 포함된 테이블을 처리할 때 효율적인 데이터 분석을 위해 이러한 값을 검색하고 단일 열로 병합해야 합니다. 이 기사에서는 함수와 문자열 연산의 조합을 사용하여 열에 여러 값을 반환하는 솔루션을 살펴봅니다.
예:
사용자당 여러 별칭이 있는 "UserAliases" 테이블을 고려해 보세요.
<code>UserId/Alias 1/MrX 1/MrY 1/MrA 2/Abc 2/Xyz</code>
목표는 데이터를 다음 형식으로 변환하는 것입니다.
<code>UserId/Alias 1/ MrX, MrY, MrA 2/ Abc, Xyz</code>
해결책:
이를 위해 "COALESCE" 기능을 사용하는 사용자 정의 함수 "GetAliasesById"를 사용합니다. 이 함수는 "@output" 변수를 초기화하고 여기에 별칭 값을 쉼표로 구분하여 반복적으로 추가합니다. 다음은 함수 코드입니다:
<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>
마지막으로 데이터를 검색하고 "GetAliasesById" 함수를 적용하여 별칭을 병합합니다.
<code class="language-sql">SELECT UserID, dbo.GetAliasesByID(UserID) FROM UserAliases GROUP BY UserID</code>
이 쿼리는 각 사용자에 대한 여러 별칭을 단일 열로 결합하여 원하는 출력을 반환합니다. "COALESCE" 함수는 null 값을 효율적으로 처리하여 유효한 문자열 출력을 보장합니다.
위 내용은 T-SQL에서 여러 행을 단일 열로 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!