sql >> Databasteknik >  >> RDS >> Oracle

Underval i oracle

I Oracle kan underfrågor endast se värden från överordnade frågor en nivå djup. Eftersom du har två kapslade markeringar kan den inre inte se värdena från den yttre.

Du kan utföra anslutningen 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 också använda en PL/SQL-funktion som skulle returnera den första quote_price från price_history när det ges en article_table.part_no .



  1. Välja Största N poster i X grupper

  2. COMMIT OR conn.setAutoCommit(true)

  3. Jämför endast dag och månad med datumfält i mysql

  4. SQL-klient för Mac OS X som fungerar med MS SQL Server