sql >> Database >  >> RDS >> Oracle

Draai-/kruistabelquery in Oracle 10g (Dynamisch kolomnummer)

Oracle 11g is de eerste die PIVOT/UNPIVOT ondersteunt, dus u moet het volgende gebruiken:

  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

Je zou DECODE kunnen gebruiken, maar CASE wordt sinds 9i ondersteund.



  1. Lijst met gebruikers die toegang hebben tot de database

  2. mySQL-gegevensbron op Visual Studio 2012

  3. Oracle - duplicaten verwijderen

  4. Kopieer een rij met alle onderliggende rijen en hun onderliggende rijen, enz.