2013-10-01 4 views
0

Я бегу следующий запрос в Oracle 10 XE и получить [Err] ORA-00904: "Q": недопустимый идентификаторУплотненный вопрос запрос, Invalid ошибка Identifier

SELECT questions.sb_title Q,questions.sb_baab_id,questions.sb_fasal_id,QUESTIONS.SB_CONTENT answer,IST.SB_PREFERENCE PREF 
FROM USER_QUESTIONS questions 
INNER JOIN USER 
ON QUESTIONS.SB_USER_ID = USER.SB_ID 
INNER JOIN IST 
ON IST.SB_ID = USER.SB_IST_ID 
AND(Q LIKE '%where is%') 
AND USER.SB_IST_ID = 
(
    Select issued.SB_IST_ID 
    FROM USER_REGISTER register_number 
    INNER JOIN USER_ISSUED issued 
    ON register_number.SB_REGISTER_NUMBER = ISSUED.SB_REGISTER_NUMBER 
    AND REGISTER_NUMBER.SB_REGISTER_NUMBER IN(1240) 
) 
+0

Исправить меня, если я ошибаюсь, но не следует ли объявлять псевдоним, используя 'AS'? –

+0

В Oracle вам не нужно использовать ключевое слово AS для псевдонимов - предоставление псевдонима после того, как столбец работает отлично. –

ответ

1

Вы не можете ссылаться на псевдоним в Условие JOIN - напишите фактическое имя столбца: sb_title.

0

Я не думаю, что вы можете использовать псевдоним «Q». Вы используете его в своем предложении select, не думайте, что вы можете использовать этот псевдоним в своем предложении ON. Попробуйте использовать полное имя столбца (sb_title).

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