Google AppEngine комплекс ГДЕ состояние

1

Я хочу иметь что-то вроде

  • start_time <= start_time_input <= end_time
  • ИЛИ
  • start_time <= end_time_input <= end_time
  • ИЛИ
  • (start_time_input <= start_time AND end_time <= end_time_input)

Два способа, как указано в документах (http://code.google.com/appengine/docs/python/datastore/queries.html и http://code.google.com/appengine/docs/python/datastore/gqlqueryclass.html)as Я понял:

filter_trips = db.GqlQuery( "SELECT ключ) FROM Trips WHERE (start_time < =: start_time_input AND end_time > =: start_time_input) ИЛИ (start_time < =: end_time_input AND end_time > =: end_time_input ) OR (start_time > =: start_time_input AND end_time < =: end_time_input)", start_time_input = start_time_input, end_time_input = end_time_input)

error: Ошибка анализа: неверный идентификатор WHERE в символе (

ИЛИ

filter_trips = db.GqlQuery( "SELECT ключ) FROM Trips WHERE start_time < =: start_time_input <= end_time OR start_time < =: end_time_input <= end_time OR (: start_time_input <= start_time AND end_time < =: end_time_input)", start_time_input = start_time_input, end_time_input = end_time_input)

error: Parse Error: не ожидается никаких дополнительных символов в символе < =

Пожалуйста, помогите!

Теги:
google-app-engine
where-clause
gql

1 ответ

3
Лучший ответ

GQL не имеет OR. См. http://code.google.com/appengine/docs/python/datastore/gqlreference.html

Вам нужно будет сделать это как несколько запросов.

  • 0
    KK я понял это, но почему ошибка не ожидала дополнительных символов в символе <= ? любая ошибка с этой частью ??
  • 0
    Итак, ("SELECT __key__ FROM Trips WHERE start_time <= :start_time_input <= end_time" , start_time_input = start_time_input , end_time_input = end_time_input ) также дает мне BadQueryError: Ошибка разбора: ожидается, что в символе нет дополнительных символов <=
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню