Hoe twee rijen in dezelfde tabel in Oracle te vergelijken

samenvatting: in deze zelfstudie leert u hoe u twee rijen in dezelfde tabel in Oracle kunt vergelijken.

uitgaande van een tabel product_prices die de prijsgeschiedenis van alle producten opslaat. Het volgende statement maakt de product_prices tabel aan:

Code language: SQL (Structured Query Language) (sql)

de tabel product_prices bevat de volgende kolommen:

  • id is een identiteitskolom waarvan de waarden automatisch worden gegenereerd. id is de primaire sleutel van de tabel.
  • product_id slaat de Product-id op die een product identificeert.
  • valid_from slaat de ingangsdatum op vanaf welke de catalogusprijs geldig is.
  • list_price slaat de catalogusprijs van een product op.

de volgende INSERT statements voeg enkele rijen in de product_prices tabel:

Code language: SQL (Structured Query Language) (sql)

zoals u kunt zien, de prijs van het product id verandert. Als u de verschillen tussen elke volgende wijziging wilt vinden, moet u twee opeenvolgende rijen vergelijken.

we gaan ervan uit dat er geen gat is in de kolom id en dat de catalogusprijs met de eerdere geldige vanaf datum wordt ingevoegd vóór de catalogusprijs met de latere geldige vanaf datum, de volgende query vergelijkt prijzen tussen elke wijziging van de Product-id 100:

Code language: SQL (Structured Query Language) (sql)
hoe twee rijen in dezelfde tabel te vergelijken in Oracle

in deze query hebben we de self-join gebruikt die de product_prices tabel met zichzelf verbindt. Het volgende verbindingsvoorschrift staat de huidige rij toe met de vorige rij.

Code language: SQL (Structured Query Language) (sql)

nu moet u weten hoe u twee rijen in dezelfde tabel in Oracle kunt vergelijken.

Write a Comment

Het e-mailadres wordt niet gepubliceerd.