Oracle左外连接查询

2 sql oracle

select a,last_note_user,c,d,iso_src
from X,Y,Z
left outer join W
ON (W.last_note_user=Z.userid AND W.user_ten=Y.iso_src)
Run Code Online (Sandbox Code Playgroud)

当我执行上面的查询时它给了我错误."Y.iso_src" is a invalid identifier但是,它Y.iso_src是一个有效的标识符,它存在于系统表中.上面的左外连接有问题吗?请帮帮我!!!

Qua*_*noi 10

您不能JOINOracle这种方式混合语法.

JOIN条件只能参照表使用先前加入ANSI JOIN的语法.

用这个:

SELECT  a, last_note_user, c, d, iso_src
FROM    X
CROSS JOIN
        Y
CROSS JOIN
        Z
LEFT OUTER JOIN
        W
ON      W.last_note_user = Z.userid
        AND W.user_ten = Y.iso_src
Run Code Online (Sandbox Code Playgroud)

  • 为什么不?这在我的11g实例上运行正常:select*from dual x,dual y left join double z on(y.dummy = z.dummy) (2认同)