我试图以下列格式加入三个表。
select *
from A
inner join
B (inner join (C on C.id=B.c_id))
on A.id=B.a_id;
我从未使用查找表来执行连接(在本例中为B)。
Oracle抛出错误说
ORA-00905: missing keyword
00905. 00000 - "missing keyword"
*Cause:
*Action:
Error at Line: 6 Column: 11
任何有关我出错的地方的见解都将受到赞赏。 谢谢!
答案 0 :(得分:2)
而是尝试像
这样的东西SELECT *
FROM A INNER JOIN
B ON A.id = B.a_id INNER JOIN
C ON C.id = B.c_id
答案 1 :(得分:2)
应该这样写,更清楚:
select *
from A
inner join B on A.id=b.a_id
inner join C on C.id=B.c_id
您可以看到它如何显示您的语句的意图(join子句非常明确地表示您希望如何连接表)通过在where子句中表达连接条件来连接2个表(如{{1}中所示) })
答案 2 :(得分:1)
select *
from A
inner join B on A.id=B.a_id
inner join C on C.id=B.c_id