日期:2014-05-17  浏览次数:20855 次

left outer join 和 (+) 的问题?
今天做一个查询结果为30列的view,left   outer   join了26张表,报出错误“ORA-01792   表或视图的最大列数为1000”,少left   outer   join了几张表,视图成功创建。因此我怀疑,left   outer   join在执行的时候,把所有左联结的表的所有列都先聚合在一起,然后在这个结果集里再得到我们要查询的列。

然后又做了个测试,将left   outer   join   改写成   select   列   from   t1,t2,t3...t26   where   t1.列   =   t2.列(+)....           ,结果语句正常执行。  

Oracle是如何执行外关联的?   哪位达人指导一下

------解决方案--------------------
关注
------解决方案--------------------
能把你的sql语句贴出吗?应该不会这样吧
------解决方案--------------------
我同事也遇到过相同的问题,一直困惑中,貌似oracle的问题,无法解决。
lz你就认了吧。