2015-12-08 4 views
-1
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; 

Может кто-нибудь сказать мне, где моя ошибка?Отсутствует ошибка ключевого слова ora-00905

+1

'from LINE join LINE_STOP join PASSAGE' вы пытаетесь присоединиться к трем таблицам? Вы пропустите предложение ON, которое идентифицирует столбцы, которые одинаковы в вашей таблице. – brenners1302

+0

Слишком много проблемы в этом запросе, чтобы сделать предложение: 'time' является зарезервированным словом Oracle. Ключевое слово 'on' отсутствует в' from'. Вы сравниваете столбец под названием «время» с подсчетом, что кажется необоснованным. 'Group by' не согласуется с' select'. –

ответ

1

@ 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); 

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

+0

Да, я пытаюсь подсчитать количество времени, которое автобус проходит с остановкой. –

+0

это то, что у меня есть сейчас, но оно все еще не работает! Спасибо за помощь! –

+0

ВЫБОР LINE_NUMBER, ВРЕМЯ ОТ ЛИНИИ РЕГИСТРИРУЙТЕСЬ LINE_STOP ON LINE_NUMBER = LINE_NUMBER РЕГИСТРИРУЙТЕСЬ ПРОХОД НА LINE_NUMBER = LINE_NUMBER ГДЕ ВРЕМЯ В (SELECT COUNT (TIME) ОТ ПРОХОЖДЕНИЯ ГДЕ ВРЕМЯ МЕЖДУ 500 И 620) на (выбрать часы | | '' || Минуты со временем из прохода); –

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