ホームページ > データベース > mysql チュートリアル > T-SQL を使用して SQL Server の単一列から複数の値を取得する方法

T-SQL を使用して SQL Server の単一列から複数の値を取得する方法

DDD
リリース: 2025-01-12 08:11:42
オリジナル
489 人が閲覧しました

How to Retrieve Multiple Values from a Single Column in SQL Server Using T-SQL?

単一列から複数の値を取得するための T-SQL テクニック

SQL Server データベース管理では、単一のレコードに関連付けられた複数の値を効率的に取得することが一般的なタスクです。これには多くの場合、1 対多の関係を持つテーブルが関係し、単一の識別子が複数の関連する値にリンクされます。 この記事では、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 のすべてのエイリアスを含む 1 つの列が作成されます。

このアプローチは、単一のエンティティにリンクされた複数の値を管理および表示するための簡潔かつ効率的な方法を提供し、T-SQL アプリケーション内のデータ処理を簡素化します。

以上がT-SQL を使用して SQL Server の単一列から複数の値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート