我想要一个类似的条件
- 开始时间 <= 开始时间_输入 <= 结束时间
- 或者
- 开始时间 <= 结束时间_输入 <= 结束时间
- 或者
- (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 key FROM Trips WHERE (start_time <= :start_time_input AND end_time >= :start_time_input ) OR (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 )
错误:解析错误:符号处的 WHERE 标识符无效(
或者
filter_trips = db.GqlQuery("从行程中选择 key 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 )
错误:解析错误:符号 <= 处不应有其他符号
请帮忙!
最佳答案
GQL 没有 OR。请参阅http://code.google.com/appengine/docs/python/datastore/gqlreference.html
您需要通过多个查询来执行此操作。
关于python - Google AppEngine 复杂的 WHERE 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6084622/