Hvordan Sammenligne To Rader I Samme Tabell I Oracle

Sammendrag: i denne opplæringen lærer du hvordan du sammenligner to rader i samme tabell i Oracle.

Forutsatt at du har en product_prices tabell som lagrer prishistorikk for alle produkter. Følgende setning oppretter tabellen product_prices :

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

tabellen product_prices har følgende kolonner:

  • id er en identitetskolonne hvis verdier genereres automatisk. id er primærnøkkelen i tabellen.
  • product_id lagrer produkt-iden som identifiserer et produkt.
  • valid_from lagrer den effektive datoen som listeprisen er gyldig fra.
  • list_price lagrer listeprisen for et produkt.

følgende INSERT setninger sett inn noen rader i tabellen product_prices :

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

som du kan se, endres prisen på produkt-id. For å finne forskjellene mellom hver påfølgende endringer, må du sammenligne to påfølgende rader.

vi antar at det ikke er noe gap i kolonnen id og listeprisen med tidligere gyldig fra dato er satt inn før listeprisen med senere gyldig fra dato.100:

Code language: SQL (Structured Query Language) (sql)
 Hvordan Sammenligne To Rader I Samme Tabell I Oracle

i denne spørringen brukte vi self-join som knytter seg til product_prices – tabellen til seg selv. Følgende sammenføyningspredikat tillater gjeldende rad med forrige rad.

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

nå bør du vite hvordan du sammenligner to rader i samme tabell I Oracle.

Write a Comment

Din e-postadresse vil ikke bli publisert.