단일 열에서 여러 값을 검색하는 T-SQL 기술
SQL Server 데이터베이스 관리에서는 단일 레코드와 연결된 여러 값을 효율적으로 검색하는 것이 일반적인 작업입니다. 여기에는 단일 식별자가 여러 관련 값에 연결되는 일대다 관계가 있는 테이블이 포함되는 경우가 많습니다. 이 문서에서는 T-SQL 함수와 문자열 조작을 사용하는 강력한 방법을 보여줍니다.
각 사용자가 여러 별칭을 가질 수 있는 UserAliases
테이블을 생각해 보세요. 문제는 특정 사용자의 모든 별칭을 단일 열로 검색하는 것입니다. COALESCE
함수와 사용자 정의 함수를 결합하면 이 문제를 우아하게 해결할 수 있습니다.
다음 T-SQL 코드는 이 솔루션을 보여줍니다.
<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; GO SELECT UserID, dbo.GetAliasesByID(UserID) AS Aliases FROM UserAliases GROUP BY UserID; GO</code>
GetAliasesById
함수는 userID
을 입력으로 사용하고 연관된 모든 별칭이 쉼표로 구분된 문자열을 반환합니다. COALESCE
은 잠재적인 null 값을 처리하여 올바른 형식의 출력을 보장합니다. 그러면 기본 SELECT
문이 각 사용자에 대해 이 함수를 호출하여 각 사용자 ID에 대한 모든 별칭을 포함하는 단일 열이 생성됩니다.
이 접근 방식은 단일 엔터티에 연결된 여러 값을 관리하고 표시하는 간결하고 효율적인 방법을 제공하여 T-SQL 애플리케이션 내에서 데이터 처리를 단순화합니다.
위 내용은 T-SQL을 사용하여 SQL Server의 단일 열에서 여러 값을 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!