2013-08-07 23 views
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 

在哪裏,我要去錯,將不勝感激任何瞭解。 謝謝!

+0

標題是相當無意義的,請認真解決它。 – Woot4Moo

回答

2

而是嘗試像

SELECT * 
FROM A INNER JOIN 
B ON A.id = B.a_id INNER JOIN 
C ON C.id = B.c_id 
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

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