Отсутствует ошибка ключевого слова ora-00905

select line_number, TIME

from LINE join LINE_STOP join PASSAGE

where time = (select count (Time)

from passage

where time between 500 and 620)

group by line_number;

Может кто-нибудь сказать мне, где моя ошибка?

1 ответ

@ Гордон Линофф Исправление!! TIME - это зарезервированное слово PL/SQL в Oracle, и его можно использовать для запросов SQL, которые не зависят от кода PL/SQL. Но здесь приравнивание времени к значению счета вызывает путаницу. Полагаю, Валери пытается использовать его для подсчета количества раз, повторений line_number или чего-то в этом роде.

И ошибка "отсутствует ключевое слово" заключается в том, что вы не использовали ключевое слово "ON", что обязательно, если вы используете оператор Join.

@ Valérie Hallé Попробуйте, если вы пытаетесь делать то, что я предполагал выше,

SELECT L.LINE_NUMBER, L.TIME
  FROM LINE L
  JOIN LINE_STOP LS ON LS.LINE_NUMBER = L.LINE_NUMBER 
  JOIN PASSAGE P    ON P.LINE_NUMBER = L.LINE_NUMBER
 WHERE L.TIME IN (SELECT COUNT (TIME)
                    FROM PASSAGE
                   WHERE TIME BETWEEN 500 AND 620);

Это должно работать. Если нет, вернись ко мне:-)

Другие вопросы по тегам