ORA-00933: команда SQL неправильно завершена - PullRequest
0 голосов
/ 12 марта 2019
SELECT S.SUPPLIER_NAME,P.PRODUCT_NAME,O.ORDER_ID,O.QUANTITY
FROM SUPPLIERS AS S
INNER JOIN PRODUCT AS P
ON S.PRODUCT_ID = P.PRODUCT_ID
INNER JOIN ORDERS AS O
ON P.PRODUCT_ID = O.ORDER_ID;

КОГДА я присоединяюсь к трем таблицам

ORA-00933: команда SQL неправильно завершена.

Ответы [ 2 ]

3 голосов
/ 12 марта 2019

Oracle не использует as для псевдонимов таблиц. Попробуйте эту версию:

SELECT S.SUPPLIER_NAME, P.PRODUCT_NAME, O.ORDER_ID, O.QUANTITY
FROM SUPPLIERS S JOIN
     PRODUCT P
     ON S.PRODUCT_ID = P.PRODUCT_ID JOIN
     ORDERS O
     ON P.PRODUCT_ID = O.ORDER_ID;

Синтаксическая ошибка происходит от S после AS. AS считается псевдонимом таблицы, а затем ожидается join условие или предложение SQL (или ужас запятая).

0 голосов
/ 12 марта 2019

Oracle ALIASES можно использовать для создания временного имени для столбцов или таблиц. Чтобы сделать заголовок вывода более значимым и улучшить читаемость запроса. См. Ссылку

Например, если вы хотите изменить столбец 'SUPPLIER_NAME' на SUPPLIERNAME.Этот запрос вернет столбец ResultSet как «ИМЯ ПОСТАВЩИКА».

ПОСТАВЩИКИ S -> S - временное имя для таблицы «ПОСТАВЩИКИ».См. Ниже модификацию.

SELECT S.SUPPLIER_NAME,P.PRODUCT_NAME,O.ORDER_ID,O.QUANTITY
FROM SUPPLIERS  S
INNER JOIN PRODUCT P
ON S.PRODUCT_ID = P.PRODUCT_ID
INNER JOIN ORDERS O
ON P.PRODUCT_ID = O.ORDER_ID;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...