ホームページ > データベース > mysql チュートリアル > SQL Server 2000 を使用してデータをピボットするにはどうすればよいですか?

SQL Server 2000 を使用してデータをピボットするにはどうすればよいですか?

DDD
リリース: 2025-01-02 15:31:40
オリジナル
867 人が閲覧しました

How Can I Pivot Data Using SQL Server 2000?

SQL Server 2000 によるデータのピボット

データをピボット形式に変換する必要性。値は行ではなく列に配置されます。データ分析ではよく起こります。 SQL Server 2000 は、このタスクに対する簡単な解決策を提供します。

問題の説明

Products と Product Meta という 2 つのテーブルについて考えてみましょう。 Products テーブルには製品属性が含まれ、Product Meta テーブルには各製品に関連するメタデータが格納されます。目標は、データをピボットし、製品名を行として表示し、メタデータ値を列として表示する結果セットを生成することです。

ソリューション

これを達成するには、次の手順に従います。 :

  1. グループの作成ステートメント: ProductId 列と Name 列でデータをグループ化します。この手順により、一意の製品行のみが結果セットに表示されるようになります。
  2. メタデータ値の集計: グループ化された行ごとに、MIN() 関数または MAX() 関数を使用してメタデータ値を集計します。 、目的の動作に応じて。この場合、MIN() を使用して各メタデータ キーの最小値が選択されます。
  3. Alias Aggregate Functions: ピボットされた列ヘッダーを表すために、集計関数に意味のあるエイリアスを割り当てます。結果セット。たとえば、メタデータ キーが 'A'、'B'、および 'C' の場合、集計関数はそれぞれ 'A'、'B'、および 'C' としてエイリアス化できます。

結果のクエリは次のようになります:

SELECT P.ProductId, P.Name
    , MIN(CASE WHEN PM.MetaKey = 'A' THEN PM.MetaValue END) AS A
    , MIN(CASE WHEN PM.MetaKey = 'B' THEN PM.MetaValue END) AS B
    , MIN(CASE WHEN PM.MetaKey = 'C' THEN PM.MetaValue END) AS C
FROM Products AS P
JOIN ProductMeta AS PM
    ON PM.ProductId = P.ProductId
GROUP BY P.ProductId, P.Name
ログイン後にコピー

このクエリは、目的のピボット結果セットを生成します。ここで、各行は、

これらの手順に従うと、SQL Server 2000 を使用してデータを効果的にピボットすることができ、より構造化された使いやすい形式でデータから洞察を得ることができます。

以上がSQL Server 2000 を使用してデータをピボットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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