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 .