我正在尝试加入这样的两个 View :
Select CH.ID
From V_CHARGE CH
full outer join V_TEMPCH VT
on CH.ID = VT.ID_CHARGE
尽管我在列名之前使用了别名,但我收到了“ORA-00918:列定义不明确”错误。 我已经被困在这个问题上一个小时了。请帮忙
更新
嗯,连接中使用的 View 本身有多个连接。连接一个接一个地进行,如下所示:
Select *
From tblA A
cross join tblB B
left outer join tblC C
on C.id = b.ID
解决问题的方法是使用括号分隔连接,如下所示:
Select *
From (Select *
From tblA A
cross join tblB B
) D
left outer join tblC C
on C.id = D.id
仍然不明白为什么使用第一种语法会出现问题,因为正在连接的表中没有冲突的列。 无论如何,感谢您的帮助:)
最佳答案
对于这个错误,您也有解决方法:
alter session set "_column_elimination_off"=true;
关于Oracle:即使使用完全限定名称后也是 "ORA-00918 column ambiguously defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35153329/