Oracle -> запрос Postgres - PullRequest
       3

Oracle -> запрос Postgres

0 голосов
/ 17 сентября 2018

Я парень из Oracle, пытающийся преобразовать подобный запрос в Postgres. Не совсем понимаю весь синтаксис и т. Д. Была ли надежда, что кто-то может помочь?

Oracle Query:

    SELECT c.code, c.recommendation, s.suggested, s.sugg_by, a.approved, a.app_by
    FROM (SELECT code, recommendation FROM recommendations) c,
         (SELECT code, suggested, sugg_by FROM suggestions) s,
         (SELECT code, approved, app_by FROM suggestions) a
    WHERE c.code = s.code(+)
      AND c.code = a.code(+);
    

Очень ценится

1 Ответ

0 голосов
/ 17 сентября 2018

Вы можете попробовать использовать OUTER JOIN

SELECT c.code, c.recommendation, s.suggested, s.sugg_by, a.approved, a.app_by
FROM (SELECT code, recommendation FROM recommendations) c 
LEFT JOIN (SELECT code, suggested, sugg_by FROM suggestions) s on c.code = s.code
LEFT JOIN (SELECT code, approved, app_by FROM suggestions) a ON c.code = a.code

Похоже, вам не нужно было использовать подзапрос, потому что вы ничего не делали в подзапросе, только выбирая исходные столбцы. Вы можете запросить таблицу напрямую.

SELECT
    c.code,
    c.recommendation, 
    s.suggested,
    s.sugg_by, 
    a.approved,
    a.app_by
FROM recommendations c 
LEFT JOIN suggestions s on c.code = s.code
LEFT JOIN suggestions a ON c.code = a.code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...