【问题标题】:Oracle --> Postgres queryOracle --> Postgres 查询
【发布时间】:2018-09-17 17:03:44
【问题描述】:

我是一名试图将这样的查询转换为 Postgres 的 Oracle 人员。没有真正理解所有的语法等。希望有人能提供帮助吗?

Oracle 查询:

选择 c.code、c.recommendation、s.suggested、s.sugg_by、a.approved、a.app_by FROM(选择代码,推荐 FROM 推荐)c, (选择代码,建议,sugg_by FROM 建议) s, (选择代码,已批准,app_by FROM 建议) 哪里 c.code = s.code(+) 和 c.code = a.code(+);

非常感谢

【问题讨论】:

    标签: oracle postgresql subquery


    【解决方案1】:

    你可以尝试使用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
    

    【讨论】:

    • IIRC (+)LEFT JOIN
    猜你喜欢
    • 2019-02-21
    • 2021-05-27
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 2016-06-08
    • 2022-01-24
    相关资源
    最近更新 更多