2016-10-26 2 views
1

Следующий запрос имеет неправильный синтаксис в Oracle, но работает в SQL Server и MySQL:внутреннее соединение, как на (Oracle)

SELECT COUNT(DISTINCT end_.cntn_pk) 
FROM content end_ 
INNER JOIN contentrelation AS start_to_end__29 
    ON end_.cntn_pk = start_to_end__29.corl_fk_to 

У меня есть следующее сообщение об ошибке:

ERROR DSResponseUtil - Unexpected exception 
java.sql.SQLSyntaxErrorException: ORA-00905: missing keyword 

Oracle не принимает псевдоним? Как заставить его работать для типа три базы данных

Спасибо за вашу помощь

+2

Oracle принимает псевдоним. Он не принимает ключевое слово AS перед таблицей или псевдонимом представления. Он принимает его перед псевдонимом столбца (для псевдонима столбца AS не является обязательным). – mathguy

ответ

4

Oracle не принимает ключевое слово в для псевдонимов таблицы

1

Oracle принимает только AS псевдонимов столбцов, но не для таблицы. Однако AS не нужно, о всегда можно избежать без проблем:

SQL> select 1 as one from dual; 

     ONE 
---------- 
     1 

SQL> select 1 one from dual; 

     ONE 
---------- 
     1 

SQL> select 1 one from dual d; 

     ONE 
---------- 
     1 

SQL> select 1 one from dual as d; 
select 1 one from dual as d 
         * 
ERROR at line 1: 
ORA-00933: SQL command not properly ended