2013-08-07 1 views
0

Im пытается объединить три таблицы в следующем формате.Могу ли я это присоединиться? Соединение с тремя путями

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

on A.id=B.a_id; 

Ive никогда не использовал таблицу поиска для выполнения соединения (в данном случае B).

Oracle выдает ошибку о том,

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

Любое представление о том, где Im Going Wrong будут оценены. Спасибо!

+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 (как в 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 
Смежные вопросы