ホームページ >データベース >mysql チュートリアル >FOR XML PATH() を使用して T-SQL の複数のレコードのフィールドを連結する方法

FOR XML PATH() を使用して T-SQL の複数のレコードのフィールドを連結する方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-15 07:58:46242ブラウズ

How to Concatenate Fields from Multiple Records in T-SQL Using FOR XML PATH()?

T-SQL で複数のレコードのフィールドを結合するには FOR XML PATH() を使用します

多対多の関係を持つ複数のテーブルがある特定のシナリオでは、サブクエリと 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>

このクエリはまず @Reviews、@Reviewers、@Users テーブルを結合して、統合データセットを作成します。次に、サブクエリを使用して、関連付けられた ReviewID ごとに @Users から FName 列を選択します。 FOR XML PATH() 関数は、これらの FName 値をカンマ区切りの文字列に連結します。

最後に、生成された接続文字列がメインの SELECT ステートメントの「Users」列に割り当てられます。出力は次のようになります:

<code>ReviewID    ReviewDate          Users
1           2009-01-12          Bob, Joe, Frank
2           2009-01-25          Sue, Alice</code>

以上がFOR XML PATH() を使用して T-SQL の複数のレコードのフィールドを連結する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。