Отсутствует ошибка ключевого слова 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);
Это должно работать. Если нет, вернись ко мне:-)