我的查询包含两个表之间的连接。当它是内连接时,查询工作正常。但是,当我将其更改为外部联接时,它会抛出错误,就好像查询中未定义辅助表一样。
这就是我的意思:
select a.unit
, a.data_date
from (
select unit
, person
, data_date
from the_data
) a
join personnel b
on (
b.person = a.person
and b.first_date <= a.data_date
and b.last_date >= a.data_date
)
the_data和人员是表格
这是按照书面形式工作的,但是如果你将连接更改为左连接,它会报告a.data_date是一个无效的标识符(如果你重写ON子句使得顶行位于底部,它会说a.person无效)。
我依旧记得曾经遇到过这个问题,结果发现这是一个内部的Oracle错误。
数据库是64位版本11.2.0.4.0。