ホームページ >データベース >mysql チュートリアル >FOR XML PATH() を使用して T-SQL の複数のレコードのフィールドを連結する方法
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 サイトの他の関連記事を参照してください。