2014-11-11 4 views
1

я получаю эту ошибку, пытаясь запустить этот простой Присоединяйтесь .....Oracle Invalid идентификатор ORA-00904

SELECT docregitem.reviewdate, docregitem.nclient, client.name 
FROM docregitem, client 
    INNER JOIN client 
     ON docregitem.nclient = client.nclient 

ORA-00904: "DOCREGITEM"."NCLIENT": invalid identifier 

я могу сделать выбор и все столбцы присутствуют и правильны ...

+0

показать таблицу структуры docregitem. Это похоже на то, что таблица неправильно названа или столбец. 'Выберите * из all_tab_Cols, где table_Name = 'DOCREGITEM' и column_Name = 'NCCLIENT'' – xQbert

ответ

1

Я думаю, что запрос вы хотите:

SELECT dr.reviewdate, dr.nclient, c.name 
FROM docregitem dr INNER JOIN 
    client c 
    ON dr.nclient = c.nclient; 

Ваш пункт from имеет запятые в нем. Это очень похоже на cross join, но это влияет на столбцы. Они не известны в предложении on, что и вызывает проблему.

+0

Бинго .... это было время, а MSSQL на этом .... – KSquared

1
SELECT docregitem.reviewdate, docregitem.nclient, client.name 
FROM docregitem 
INNER JOIN client 
ON docregitem.nclient = client.nclient 

вы попробовать это, как вы использовали таблицу клиента дважды один с простым присоединиться и другие с внутренним соединением, не давая имя псевдонима для таблицы, так что компилятор путаются в выборе и сравнении столбца из таблицы клиента.

Смежные вопросы