ホームページ >データベース >mysql チュートリアル >SQL Server を使用してグループ内の文字列を効率的に連結するにはどうすればよいですか?
SQL Server グループ内の文字列を効率的に連結する
この記事では、SQL Server のグループ内の文字列データを統合するという問題に取り組みます。 次のような構造のデータがあると想像してください:
<code class="language-sql">id | Name | Value ---|-----|------ 1 | A | 4 1 | B | 8 2 | C | 9</code>
目標は、次のように変換することです。
<code class="language-sql">id | Column ---|-------- 1 | A:4, B:8 2 | C:9</code>
カーソルやループなどの従来の方法も可能ですが、非効率的になる可能性があります。 SQL Server 2005 以降で利用できる優れたアプローチでは、FOR XML PATH
と STUFF
を利用します。
このメソッドは次のように機能します:
#YourTable
) が作成されます。STUFF
と FOR XML PATH
を使用して連結を実行します。 FOR XML PATH
は XML を生成し、各 ID の文字列を効果的にグループ化します。 STUFF
は、この XML をカンマ区切りの文字列にエレガントに変換します。id
によってグループ化され、目的の集計が行われます。これにより、簡潔でパフォーマンスの高いクエリが生成され、反復プロセスのオーバーヘッドが回避されます。 出力は、目的のカンマ区切り文字列形式と一致します。
以上がSQL Server を使用してグループ内の文字列を効率的に連結するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。