2015-12-08 1 views
0
SELECT LINE_NUMBER, time 
FROM LINE 
JOIN LINE_STOP ON LINE.ID=LINE_STOP.LINE_ID 
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID 
WHERE "time" = (select count (*) as "time" 
         from passage 
         where hours * 60 + minutes between 300 and 380); 

У меня ошибка неправильного идентификатора ora-00904. Вполне уверен, что это потому, что он не распознал Время, но я не понимаю, почему.Синтаксис Ошибка Oracle

+1

Измените свой вопрос и включите расположение таблиц и точное сообщение об ошибке, которое вы видите. Благодарю. –

+3

'WHERE" time "= (...' – lad2025

ответ

0

Время указано в официальной документации here как слово с ... «особое значение для Oracle, но не зарезервированные слова и поэтому могут быть переопределены».

Если вы должны использовать любое из слов в списке, вы должны удвоить их котировку и оставить дело в соответствии с случаем, используемым при создании.

SELECT LINE_NUMBER, "TIME" 
FROM LINE 
JOIN LINE_STOP ON LINE.ID=LINE_STOP.LINE_ID 
JOIN PASSAGE ON LINE.STOP_ID = PASSAGE.LINE_STOP_ID 
WHERE "TIME" = (select count (*) as "TIME" 
         from passage 
         where hours * 60 + minutes between 300 and 380);