ホームページ > データベース > mysql チュートリアル > PIVOT (暗黙的) を使用して DB2 で行を列に転置する方法は?

PIVOT (暗黙的) を使用して DB2 で行を列に転置する方法は?

Mary-Kate Olsen
リリース: 2024-12-30 13:27:16
オリジナル
610 人が閲覧しました

How to Transpose Rows into Columns in DB2 Using PIVOT (Implicit)?

DB2 でのピボットを使用したデータ構造の転置

このタスクでは、DB2 テーブル内の行を列に転置し、次の構造からデータを変換する必要があります。 :

ItemID    Item    Value
---------------------
1     Meeting     Now
1     Advise      Yes
1     NoAdvise    No
2     Meeting     Never
2     Advise      No
2     NoAdvise    Null
2     Combine    Yes
ログイン後にコピー

を希望の値に入力します構造:

ItemID    Meeting  Advise   NoAdvise 
---------------------------------------
1         Now      Yes       No
2         Never    No        Null
ログイン後にコピー

この変換を実現するには、PIVOT 演算子を使用する SQL クエリを使用できます。これにより、指定された分類フィールドに基づいて行を列に転置できます。 DB2 LUW で使用できるクエリの例を次に示します。

SELECT 
  A.ItemID,
  MAX(CASE WHEN A.Item = 'Meeting'  THEN Value END) AS Meeting,
  MAX(CASE WHEN A.Item = 'Advise'   THEN Value END) AS Advise,
  MAX(CASE WHEN A.Item = 'NoAdvise' THEN Value END) AS NoAdvise
FROM A
GROUP BY A.ItemID
ログイン後にコピー

このクエリでは、PIVOT 演算子は明示的に使用されていませんが、MAX 内で CASE ステートメントを使用することによって暗黙的に実現されています。 () 集計関数。 CASE ステートメントは、行を分類し、各カテゴリの最大値を返す手段として機能します。 MAX() 集計関数は、各カテゴリに対して最大値が返されることを保証します。

要件に従って、転置された結果には「Combine」列が含まれないことに注意してください。結果のデータは、必要に応じて列に転置されます。

以上がPIVOT (暗黙的) を使用して DB2 で行を列に転置する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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