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

В Oracle, по отношение на синтаксиса - как да преобразувам (+) синтаксиса в модерен конвенционален JOIN?

Без да виждам схемата, ми е трудно, но това трябва да ви насочи в правилната посока:

 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;

За INNER JOIN можете просто да кажете JOIN въпреки че мисля, че изрично казва INNER подпомага четливостта. Също така отбелязвам, че предоставеният пример има WHERE 1=1 което е излишно.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql:Оптимизираща клауза BETWEEN

  2. Изпълнение на SUBSTR на CLOB

  3. PLS-00539 и PLS-00538 грешки при създаване на UDT функции

  4. Изчислете сумата от продължителност в sql заявка

  5. Как да АКТУАЛИЗИРАТЕ една колона, като използвате друга колона в друга таблица? SQL грешка:ORA-00933:SQL командата не е приключила правилно