Oracle
 sql >> Baza danych >  >> RDS >> Oracle

W Oracle, w odniesieniu do składni - jak przekonwertować składnię (+) na nowoczesną konwencjonalną JOIN?

Bez oglądania schematu wydaje mi się to trudne, ale to powinno skierować Cię we właściwym kierunku:

 FROM apps.po_requisition_lines_all prl 
 INNER JOIN apps.po_requisition_headers_all prha ON prl.requisition_header_id = prha.requisition_header_id 
 INNER JOIN po.po_req_distributions_all     prda ON prda.requisition_line_id  = prl.requisition_line_id
 LEFT  JOIN po.po_distributions_all         pda  ON prda.distribution_id      = pda.req_distribution_id 
-- I note from the example provided that this is a right join
-- Without seeing the schema, it looks to me as though it should be left
-- As I say say, without seeing the schema, I probably shouldn't pass comment
 RIGHT JOIN po.po_headers_all               pha  ON pha.po_header_id          = pda.po_header_id;

Dla INNER JOIN możesz po prostu powiedzieć JOIN chociaż myślę, że wyraźnie mówiąc INNER ułatwia czytelność. Zauważam również, że podany przykład ma WHERE 1=1 co jest zbędne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolumna niejednoznacznie zdefiniowana

  2. Oracle uzyskuje wartość sumy kontrolnej dla porcji danych zdefiniowanej przez klauzulę select

  3. Przejrzyj listę kolumn tabeli i zastosuj do nich zapytanie

  4. jak dodać więcej niż 1000 wartości z klauzulą ​​NOT IN

  5. Zmień kolejność kolumn tabeli w Oracle