Oracle的字符串OUTER JOIN() – Migration PostgreSQL
发布时间:2021-03-07 03:21:31 所属栏目:站长百科 来源:网络整理
导读:我正在将客户端的软件数据库从Oracle迁移到PostgreSQL,我在理解查询,它做了什么以及如何迁移它时遇到了一些麻烦. 查询是: SELECT * FROM TBL1,TBL2,TBL3,TBL4 WHERE TBL3.Project_ID = TBL1.Project_ID AND TBL2.Type_ID = TBL1.Type_ID AND TBL4.PROPERTY_
我正在将客户端的软件数据库从Oracle迁移到PostgreSQL,我在理解查询,它做了什么以及如何迁移它时遇到了一些麻烦. 查询是: SELECT * FROM TBL1,TBL2,TBL3,TBL4 WHERE TBL3.Project_ID = TBL1.Project_ID AND TBL2.Type_ID = TBL1.Type_ID AND TBL4.PROPERTY_NAME(+)='Id' AND TBL4.Entity_ID(+)=TBL1.Entity_ID 而我得不到的部分是’Id’上的外连接(). 有人有想法吗? 解决方法TBL4.PROPERTY_NAME()=’Id’表示当行内部连接时,该值必须为’Id’,但是当该行是外连接时,该条件被评估为true但是您应该将语句重写为标准: SELECT * FROM TBL1 JOIN TBL2 ON TBL2.Type_ID = TBL1.Type_ID JOIN TBL3 ON TBL3.Project_ID = TBL1.Project_ID LEFT JOIN TBL4 ON TBL4.Entity_ID=TBL1.Entity_ID AND TBL4.PROPERTY_NAME='Id' (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐