sql >> Database teknologi >  >> RDS >> Oracle

Pivot-/krydstabuleringsforespørgsel i Oracle 10g (dynamisk kolonnenummer)

Oracle 11g er den første til at understøtte PIVOT/UNPIVOT, så du skal bruge:

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

Du kunne bruge DECODE, men CASE er blevet understøttet siden 9i.



  1. mysql root adgangskode hvile

  2. Hvordan NOT RLIKE virker i MySQL

  3. jQuery UI Sorterbar, og skriv derefter rækkefølge i en database

  4. Hvordan fungerer FULLTEXT INDEXS på flere kolonner?