Oracle UNPIVOT

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.

Oracle UNPIVOT

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 - esimerkkitaulukko

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:

oracle unpivot - example

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 include nulls example

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:

oracle unpivot multiple columns example

Tämä kuva havainnollistaa transponointia:

Oracle unpivot multiple columns

Tässä opetusohjelmassa olet oppinut käyttämään Oraclen UNPIVOT-lauseketta sarakkeiden transponoimiseen riveiksi.

  • Oliko tästä opetusohjelmasta apua?
  • KylläEi

Vastaa

Sähköpostiosoitettasi ei julkaista.