@ Gordon Linoff Correction !! TIME - это зарезервированное слово PL/SQL в Oracle и оно может использоваться для SQL-запросов, не зависящих от PL/SQL-кода. Но здесь, приравнивая время со значением счета, возникает недоумение. Мое предположение, Валери пытается использовать его для подсчета количества раз, повторений line_number или чего-то подобного.
И ошибка «недостающего ключевого слова» заключается в том, что вы не использовали ключевое слово «ON», которое является обязательным, если u r использует оператор Join.
@ Valérie Hallé Попробуйте это, если и ¨R пытается сделать как то, что я предположил выше,
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);
Это должно работать. Если нет, вернитесь ко мне :-)
'from LINE join LINE_STOP join PASSAGE' вы пытаетесь присоединиться к трем таблицам? Вы пропустите предложение ON, которое идентифицирует столбцы, которые одинаковы в вашей таблице. – brenners1302
Слишком много проблемы в этом запросе, чтобы сделать предложение: 'time' является зарезервированным словом Oracle. Ключевое слово 'on' отсутствует в' from'. Вы сравниваете столбец под названием «время» с подсчетом, что кажется необоснованным. 'Group by' не согласуется с' select'. –