ホームページ >データベース >mysql チュートリアル >T-SQL で複数の列を動的にピボットする方法

T-SQL で複数の列を動的にピボットする方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-14 20:22:43428ブラウズ

How to Dynamically Pivot Multiple Columns in T-SQL?

T-SQL ダイナミック ピボット テーブルの詳細な説明

この記事では、複数の列にデータが格納されているテーブルを、各値が独自の列に表示されるピボット テーブル形式に変換する方法について説明します。

複数のプロジェクトのプロジェクト詳細を含むテーブルがあり、それぞれに 3 つの異なる属性 (名前、電話番号、電子メール) が含まれているとします。目標は、このデータを、各項目が独自の行を持ち、属性が列としてリストされる形式に再形成することです。

T-SQL の動的ピボット テクノロジにより、この変換を効果的に完了できます。次の手順はその方法の概要です:

  1. 動的 SQL クエリの構築:

    • 提供されたデータを使用してクエリを動的に生成します。
    • 動的 SQL クエリを変数 (@query) に割り当てます。
  2. 動的 SQL クエリを実行:

    • @query 変数を実行します。これにより、ピボット操作を実行する動的 SQL クエリが実行されます。
  3. 列リストを動的に生成します:

    • STUFF 関数を使用して、列名を @cols という名前のカンマ区切りリストに連結します。
    • この列リストは、PIVOT 列の仕様として使用されます。
  4. パースペクティブ機能を使用する:

    • PIVOT 句で、新しい列ヘッダーとなる列と、新しい行にピボットされる値を指定します。
    • 各列名の最大値を取得するには、'MAX([Value])' 集計関数を指定します。

提供されている T-SQL の例は、このプロセスを示しています。動的にクエリを作成し、列リストを生成し、最終的にデータをピボットして望ましい結果を達成する方法を示します。

以上がT-SQL で複数の列を動的にピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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