ホームページ > データベース > mysql チュートリアル > 条件付き集計を使用して SQL Server 2000 でデータをピボットする方法

条件付き集計を使用して SQL Server 2000 でデータをピボットする方法

DDD
リリース: 2025-01-01 12:35:12
オリジナル
152 人が閲覧しました

How to Pivot Data in SQL Server 2000 Using Conditional Aggregation?

SQL Server 2000 でのデータのピボット

データのピボットとは、データセットを垂直方向の列指向の形式から形式に変換するプロセスを指します。水平方向の行指向形式。つまり、テーブル内のデータを回転して列を行にしたり、その逆を行うことができます。

次の 2 つのテーブルについて考えてみましょう:

  • Products

    ProductId Name
    1 Product A
    2 Product B
  • 製品Meta

    ProductId MetaKey MetaValue
    1 A Value A for Product A
    1 B Value B for Product A
    1 C Value C for Product A
    2 A Value A for Product B
    2 B Value B for Product B
    2 C Value C for Product B

製品名を行として表示し、メタ キーを列として表示し、各セルに対応するメタ値を表示する結果セットを取得したいとします。

ProductName Meta A Meta B Meta C
Product A Value A for Product A Value B for Product A Value C for Product A
Product B Value A for Product B Value B for Product B Value C for Product B

このピボットを達成するには、条件付き集計と SELECT 内で CASE ステートメントを組み合わせて使用​​できます。ステートメント:

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

このクエリは、製品 ID と名前によって行を正しくグループ化し、各キーに必要なメタ値を取得します。

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

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