データを列から行に変換する方法

PL/SQL において、PIVOT と UNPIVOT を用いて行の転換操作を行うことができる。

  1. PIVOT による行の列変換:PIVOT 操作は複数の行のデータを 1 行に変換し、ある列の値を新しい列として使用し、他の列の値を新しい列の値として使用します。構文:
  2. (SELECT col1, col2, col3 FROM your_table)
    PIVOT (
    集計関数(col2)
    FOR col3
    IN (‘value1’ AS alias1, ‘value2’ AS alias2, …)
    )
  3. 列をピボットして行に変換するには UNPIVOT を使用します。この操作では、複数の列の値が単一の列に変換され、元の列名は新しい列の値として使用されます。構文は次のとおりです。
  4. SELECT *
    FROM your_table
    UNPIVOT (
    新列名 FOR 列名 IN (列1, 列2, …)
    )

PL/SQL でのピボットには主に 2 種類の手法があります。それぞれの手法を使用するかは、ニーズやデータ構造によって異なります。

bannerAds