Yhteenveto: Tässä opetusohjelmassa opit käyttämään Oraclen UNPIVOT
-lauseketta sarakkeiden siirtämiseen riveiksi.
Oraclen UNPIVOT-lausekkeen esittely
Oraclen UNPIVOT
-lausekkeen avulla voit siirtää sarakkeet riveiksi. UNPIVOT
-lauseke on päinvastainen kuin PIVOT
-lauseke, paitsi että se ei poista tietojen ryhmittelyä transponoinnin aikana.
Seuraavassa havainnollistetaan Oraclen UNPIVOT
-lausekkeen syntaksia:
Tässä syntaksissa:
- Lausekkeen
unpivot_clause
avulla voit määrittää nimen sarakkeelle, joka edustaa pivotoimattomia toimenpidearvoja. -
unpivot_for_clause
:n avulla voit määrittää nimen kullekin sarakkeelle, joka sisältää toimenpiteen arvot. -
unpivot_in_clause
sisältää pivotoidut sarakkeet, joita ei pivotoida.
INCLUDE | EXCLUDE NULLS
-lausekkeen avulla voit sisällyttää tai sulkea pois nolla-arvorivit.
- Lausekkeella
INCLUDE NULLS
ohjeistetaan Oraclea sisällyttämään nolla-arvoiset rivit. - Lausekkeella
EXCLUDE NULLS
puolestaan poistetaan nolla-arvoiset rivit palautetusta tulosjoukosta.
Oletusarvoisesti unpivot-operaatio sulkee pois nolla-arvoiset rivit.
Katsotaanpa muutamia esimerkkejä Oraclen UNPIVOT
-lausekkeen käytöstä paremman ymmärryksen saamiseksi.
Esimerkkitaulukon asettaminen
Luo ensin uusi taulukko nimeltä sale_stats
havainnollistamista varten:
Toiseksi lisää joitakin rivejä taulukkoon sale_stats
:
Kolmanneksi kysy tietoja taulukosta sale_stats
:
Tässä on tuloste:
Oracle UNPIVOT -esimerkkejä
Tässä lausekkeessa käytetään UNPIVOT
-lauseketta sarakkeiden product_a
, product_b
ja product_c
kääntämiseen riveiksi:
Tässä esimerkissä:
unpivot_clause
on quantity
, joka on sarake, joka edustaa sarakkeiden product_a
, product_b
ja product_c
pivotoimattomia arvoja.
Lauseke unpivot_for_clause
on FOR product_code
, joka on sarake, johon tallennetaan toimenpiteen arvot.
Lauseke unpivot_in_clause
on:
, joka käskee Oraclea poistamaan pivotoidut arvot sarakkeista product_a
, product_b
ja product_c
.
Seuraavassa kuvassa näkyy tuloste:
Esimerkiksi UNPIVOT
-operaatio sulkee pois null-arvoiset rivit, joten tulosteessa ei näy NULL-arvoja.
Seuraavassa esimerkissä UNPIVOT
-lausekkeella siirretään sarakkeiden product_a
, product_b
ja product_c
arvot riveiksi, mutta mukaan lukien null-arvoiset rivit:
Tässä on tuloste:
Oracle unpivot multiple columns
Katsotaanpa esimerkki useiden sarakkeiden poistamisesta.
Pudota ensin sale_stats
-taulu ja luo se uudelleen:
Toiseksi lisää rivejä sale_stats
-tauluun:
Kolmanneksi kysy tietoja sale_stats
-taulusta:
Viimeiseksi siirrä sarakkeiden a_qty
, a_value
, b_qty
ja b_value
arvot riveiksi UNPIVOT
-lausekkeen avulla:
Tässä on tulosjoukko:
Tämä kuva havainnollistaa transponointia:
Tässä opetusohjelmassa olet oppinut käyttämään Oraclen UNPIVOT
-lauseketta sarakkeiden transponoimiseen riveiksi.
- Oliko tästä opetusohjelmasta apua?
- KylläEi