0

我试图以下列格式加入三个表。

select * 
from A 
inner join
B (inner join (C on C.id=B.c_id))

on A.id=B.a_id;

我从未使用查找表来执行连接(在本例中为 B)。

甲骨文抛出一个错误说

ORA-00905: missing keyword
00905. 00000 -  "missing keyword"
*Cause:    
*Action:
Error at Line: 6 Column: 11

任何有关我哪里出错的见解将不胜感激。谢谢!

4

3 回答 3

2

而是尝试类似的东西

SELECT *
FROM A INNER JOIN
B ON A.id = B.a_id INNER JOIN
C ON C.id = B.c_id
于 2013-08-07T18:13:52.697 回答
2

应该这样写,这样比较清楚:

select * 
from A 
inner join B on A.id=b.a_id 
inner join C on C.id=B.c_id

您可以看到这如何显示您的语句的意图(连接子句非常明确地说明了您希望如何连接表)与通过在 where 子句中表达连接条件来连接 2 个表(如中where a.id=b.id

于 2013-08-07T18:14:16.883 回答
1
select * 
from A 
inner join B on A.id=B.a_id
inner join C on C.id=B.c_id
于 2013-08-07T18:15:02.000 回答