sql >> データベース >  >> RDS >> Oracle

Oracle 10gのピボット/クロス集計クエリ(動的列番号)

    Oracle11gはPIVOT/UNPIVOTをサポートする最初の製品であるため、以下を使用する必要があります。

      SELECT t.username,
             MAX(CASE WHEN t.product = 'Chair' THEN t.numberpurchases ELSE NULL END) AS chair,
             MAX(CASE WHEN t.product = 'Table' THEN t.numberpurchases ELSE NULL END) AS tbl,
             MAX(CASE WHEN t.product = 'Bed' THEN t.numberpurchases ELSE NULL END) AS bed
        FROM TABLE t
    GROUP BY t.username
    

    DECODEを使用することもできますが、CASEは9i以降サポートされています。



    1. int(11)とint(その他)

    2. クエリに存在するかどうかに応じて、PDOバインドパラメータ

    3. 10000から始まるdjangoで自動インクリメントフィールドを作成する方法

    4. 複数のフィールドによるMySQLの一意のインデックス