Внутреннее соединение SQL на операторах выбора - PullRequest
17 голосов
/ 21 декабря 2009

Я пытаюсь выполнить внутреннее соединение для оператора select следующим образом:

select *
from (select* from bars  where rownum <= 10 )as tab1
inner join (select * from bars  where rownum <= 10 )as tab2
on tab1.close=tab2.close

и я получаю следующую ошибку: Команда ORA-00933 SQL неправильно завершена Любая помощь будет оценена, спасибо!

Ответы [ 4 ]

45 голосов
/ 21 декабря 2009

Просто удалите as из вашего запроса:

select *
from (select* from bars  where rownum <= 10 ) tab1
inner join (select * from bars  where rownum <= 10 ) tab2
on tab1.close=tab2.close
2 голосов
/ 21 декабря 2009

Я полагаю, что ошибка исходит от того, что вам нужна точка с запятой для завершения утверждения. Селект выглядит хорошо для меня иначе.

1 голос
/ 14 сентября 2011

просто введите пробел между ')' и 'as':

select * from (select* from bars  where rownum <= 10 ) as tab1
 inner join
 (select * from bars  where rownum <= 10 ) as tab2
 on
 tab1.close=tab2.close
1 голос
/ 21 декабря 2009
select * from 
((select* from bars  where rownum <= 10 )as tab1
inner join (select * from bars  where rownum <= 10 )as tab2
on tab1.close=tab2.close)
...