sql >> Databáze >  >> RDS >> Oracle

Pivot / Crosstab Query v Oracle 10g (číslo dynamického sloupce)

Oracle 11g je první, který podporuje PIVOT/UNPIVOT, takže musíte použít:

  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

Můžete použít DECODE, ale CASE je podporován od 9i.



  1. Připojení MS SQL k IRI Workbench

  2. co je integrátor dat Oracle?

  3. Jak AI změní vývoj a testování softwaru

  4. Rails 3, ActiveRecord, PostgreSQL - příkaz .uniq nefunguje?