sql >> Database teknologi >  >> RDS >> Oracle

Undervælg i oracle

I Oracle kan underforespørgsler kun se værdier fra overordnede forespørgsler et niveau dybt. Da du har to indlejrede markeringer, kan den indre ikke se værdierne fra den ydre.

Du kan udføre joinforbindelsen først:

SELECT something, somthingelse, old_price
  FROM (SELECT a.something, a.somthingelse, p.quote_price old_price,
               row_number() over (PARTITION BY a.part_no 
                                  ORDER BY valid_from DESC) rnk
           FROM article_table a
           LEFT JOIN price_history p ON a.part_no = p.part_no)
 WHERE rnk = 1;

Du kan også bruge en PL/SQL-funktion, der ville returnere den første quote_price fra price_history når der gives en article_table.part_no .



  1. orakel | slette dubletter

  2. Eksempel på Oracle IF-tilstand

  3. MySQL auto increment ID sprang pludselig til MAXINT, hvad kan en grund være?

  4. Valg af et undersæt af rækker fra en PHP-tabel