【发布时间】:2016-05-11 05:59:46
【问题描述】:
我正在尝试像这样加入两个视图:
Select CH.ID
From V_CHARGE CH
full outer join V_TEMPCH VT
on CH.ID = VT.ID_CHARGE
我收到“ORA-00918:列定义不明确”错误,尽管我在列名之前使用了别名。 我已经被困了一个小时。请帮忙
更新
好吧,连接中使用的视图在它们自己内部有多个连接。连接是这样一个接一个的:
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
仍然不明白为什么使用第一种语法会出现问题,因为正在连接的表中没有冲突的列。 无论如何感谢您的帮助:)
【问题讨论】:
-
请显示表格定义。
-
你能制作
SELECT * from V_CHARGE和SELECT * from V_TEMPCH吗? -
可以,视图编译成功
-
内连接或左连接会发生什么?
-
@FlorinGhita 我刚刚尝试过。内连接以及左、右连接都可以正常工作。
标签: oracle join view oracle10g ambiguous