ホームページ > データベース > mysql チュートリアル > 動的クエリを使用して SQL Server でデータを動的にピボットする方法

動的クエリを使用して SQL Server でデータを動的にピボットする方法

Barbara Streisand
リリース: 2025-01-25 18:56:09
オリジナル
158 人が閲覧しました

How to Dynamically Pivot Data in SQL Server Using a Dynamic Query?

ダイナミックSQL Serverのスルーデータを参照 このため、動的な視点クエリを使用できます。視点はSQL Serverの関数であり、テーブルの行をリストに変えることができます。この例では、視点ポイントは日付列で、生成された列はカテゴリになります。

ダイナミックパースペクティブクエリを構築するために、最初に2つの変数を定義します。

カテゴリを保存するには、

最終クエリを保存するために使用されます。

<code class="language-sql">DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX);</code>
ログイン後にコピー

次に、コンマを使用してさまざまなカテゴリを接続して@cols変数を構築して、それらが二重の引用符に含まれていることを確認します。 @query

<code class="language-sql">SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(c.category) 
            FROM temp c
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')</code>
ログイン後にコピー
最後に、クエリ文字列を

に割り当てます。クエリは、最初に日付列とすべてのカテゴリを列として選択します。次に、ピボットを使用してデータを回転させ、日付列をタイトルとして、カテゴリをタイトルとして使用します。 @cols

<code class="language-sql">set @query = 'SELECT date, ' + @cols + ' from 
            (
                select date
                    , amount
                    , category
                from temp
           ) x
            pivot 
            (
                 max(amount)
                for category in (' + @cols + ')
            ) p '</code>
ログイン後にコピー
execute 返されるために必要な結果が返され、データは必要に応じて持続します。

@query

以上が動的クエリを使用して SQL Server でデータを動的にピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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