Oracle
 sql >> база данни >  >> RDS >> Oracle

Подизбор в Oracle

В Oracle подзаявките могат да виждат само стойности от родителски заявки едно ниво дълбоко. Тъй като имате две вложени селекции, вътрешната не може да види стойностите от външната.

Можете първо да извършите присъединяването:

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;

Можете също така да използвате PL/SQL функция, която да върне първата quote_price от price_history когато е даден article_table.part_no .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Long Raw проблем

  2. Как да оптимизирате актуализиращ SQL, който работи на таблица на Oracle със 700 милиона реда

  3. Използвайте резултата от Bulk Collect в заявка за избор без курсор

  4. Текстът на Oracle се екранира с къдрави скоби и заместващи знаци

  5. Преобразуване на числа в думи в MYSQL резултат! Използване на заявка