sql >> Databáze >  >> RDS >> Oracle

Podvýběr v oracle

V Oracle mohou poddotazy vidět hodnoty z nadřazených dotazů pouze o jednu úroveň hluboko. Protože máte dva vnořené výběry, vnitřní nevidí hodnoty z vnějšího.

Nejprve můžete provést připojení:

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;

Můžete také použít funkci PL/SQL, která by vrátila první quote_price z price_history při zadání article_table.part_no .



  1. Získejte seznam databází ze serveru SQL Server

  2. Načítání textu UTF-8 z MySQL v R vrací ????

  3. Konverze datového typu MySQL z varchar na float

  4. Rozdíl mezi uživatelem a schématem v Oracle?