ホームページ > データベース > mysql チュートリアル > SQL Server でカンマ区切り値を含む集計結果を取得する方法

SQL Server でカンマ区切り値を含む集計結果を取得する方法

DDD
リリース: 2025-01-07 20:07:39
オリジナル
579 人が閲覧しました

How to Retrieve Aggregated Results with Comma-Separated Values in SQL Server?

SQL Server でカンマ区切り文字を使用してグループ化された列の集計結果を取得する

SQL Server では、FOR XML PATH 構造を使用して、カンマ区切り文字とグループ化された列を含む集計結果を取得できます。次の例を考えてみましょう:

<code class="language-sql">SELECT 
    ID, 
    STUFF((SELECT ', ' + Value 
           FROM YourTable t2 WHERE t1.ID = t2.ID 
           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values
FROM YourTable t1
GROUP BY ID;</code>
ログイン後にコピー

このクエリ内:

  • FOR XML PATH 構造は、各グループの ID 列 (Value 列で表される) の値のカンマ区切りリストを生成します。
  • STUFF この関数は、集計リストの先頭にある「,」を削除します。
  • .value('.', 'NVARCHAR(MAX)') 潜在的なエラーを回避するために、XML の結果を NVARCHAR(MAX) 型に変換します。

データ例と期待される結果:

ID Value
1 a
1 b
2 c

期待される出力:

ID Values
1 a,b
2 c

その他の例:

SQL Server でのグループ化と集計にカンマ区切りの結果を使用する方法の詳細については、次の例を検討してください。

この改訂された回答は、.value('.', 'NVARCHAR(MAX)') を使用して XML 出力を文字列に明示的に変換することで SQL クエリを改善し、潜在的なエラーを防ぎます。

以上がSQL Server でカンマ区切り値を含む集計結果を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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