yhteenveto: tässä opetusohjelmassa opit vertaamaan kahta riviä samassa taulukossa Oraclessa.
olettaen, että sinulla on product_prices taulukko, joka tallentaa kaikkien tuotteiden hintahistorian. Seuraava lausuma luo product_prices – taulukon:
Code language: SQL (Structured Query Language) (sql)
product_prices taulukossa on seuraavat sarakkeet:
-
idon tunnistesarake, jonka arvot syntyvät automaattisesti.idon taulukon ensisijainen avain. -
product_idtallentaa tuotteen tunnistavan tuotetunnuksen. -
valid_fromtallentaa voimaantulopäivän, josta alkaen listahinta on voimassa. -
list_pricetallentaa tuotteen listahinnan.
seuraavat INSERT lausekkeet lisäävät joitakin rivejä product_prices taulukkoon:
Code language: SQL (Structured Query Language) (sql)
kuten näet, hinta tuotteen tunnus muuttuu. Jos haluat löytää erot jokaisen myöhemmän muutoksen välillä, sinun täytyy verrata kahta peräkkäistä riviä.
oletamme, että id sarakkeessa ei ole aukkoa ja listahinta, jonka aikaisempi on voimassa päivästä alkaen, lisätään ennen listahintaa, joka on myöhemmin voimassa päivästä, seuraavassa kyselyssä verrataan hintoja tuotteen tunnisteen jokaisen muutoksen välillä100:
Code language: SQL (Structured Query Language) (sql)

tässä kyselyssä käytettiin itseliimautuvaa, joka liittää product_prices taulukon itseensä. Seuraava join predikaatti mahdollistaa nykyisen rivin edellisen rivin kanssa.
Code language: SQL (Structured Query Language) (sql)
nyt pitäisi osata vertailla kahta riviä samassa taulukossa Oraclessa.