这个让我很生气 - 我必须在这里找到一些非常简单的东西但是谷歌搜索了2个小时并且无处可去。我正在使用Postgresql 9.5.1构建一个Rails应用程序来处理理发师的约会。其中一个列可用 - 如果预约可用于预订 - 它是一个布尔值。我需要为给定的约会ID获取接下来的5条记录。
select *
from appointments
where id > 13
and barber_id = 1
limit 5
这将返回5条记录,但可用字段全部为true,即使记录14-18存在属性为available = FALSE。
如果我使用查询
select * from appointments where id > 13 and barber_id = 1 and (available = false) limit 5
然后它只返回available = FALSE的记录,但我希望所有匹配的记录,无论是TRUE还是FALSE。
我也试过
select * from appointments where id > 13 and barber_id = 1 and (available = false or available = true) limit 5
但这也只返回available = TRUE记录。
在这里撕扯我的头发 - 我错过了什么?!默认还是什么?
答案 0 :(得分:2)
如果您的ID未按排序顺序排列,您可能需要对其进行排序并返回
{{1}}
如果它是非空列,那么你的布尔值可以完全删除,因为你要检查true和false:)