我想转换以下查询:
SELECT
request.requestId
FROM
request
LEFT OUTER JOIN incident ON incident.requestId = request.requestId
LEFT OUTER JOIN changeRequest ON changeRequest.requestId = request.requestId
Run Code Online (Sandbox Code Playgroud)
进入它的Oracle join语法等效.我的第一次尝试:
SELECT
request.requestId
FROM
request,
incident,
changeRequest
WHERE
incident.requestId = request.requestId(+)
AND changeRequest.requestId = request.requestId(+)
Run Code Online (Sandbox Code Playgroud)
由于"ORA-01417:一个表可能外部连接到最多一个其他表"错误,因此不起作用.
我意识到Oracle建议使用ANSI方法,但是我对以下Oracle错误感到"痛苦":
http://awads.net/wp/2007/06/14/when-ansi-sql-join-syntax-does-not-work-in-oracle/
提前谢谢,本
你有(+)错误的一面,它应该是:
SELECT
request.requestId
FROM
request,
incident,
changeRequest
WHERE
incident.requestId (+)= request.requestId
AND changeRequest.requestId (+)= request.requestId
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我假设您认识到这是旧的 Oracle语法?Oracle已经支持ANSI连接很长一段时间了.
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |