これは私を怒らせている - 私はここで何か非常に単純なものを見逃しているに違いないが、2時間のグーグルで、どこにもいない。私は理髪店の予定を処理するPostgreSQL 9.5.1でRailsアプリケーションを構築しています。列の1つが利用可能です。予約が予約可能かどうかは、ブール値です。私は、指定された予定IDの次の5レコードを取得する必要があります。ブール値列をFALSEに設定してレコードを返さないクエリはありますか?
select *
from appointments
where id > 13
and barber_id = 1
limit 5
これは、レコード14-18が使用可能= FALSEの属性で存在しても、使用可能なフィールドはすべてtrueです。
私は、クエリ
select * from appointments where id > 13 and barber_id = 1 and (available = false) limit 5
を使用する場合、それはFALSE =利用可能でレコードのみを返しますが、私は、TRUEかFALSEかどうか、一致するすべてのレコードをしたいです。
私も
select * from appointments where id > 13 and barber_id = 1 and (available = false or available = true) limit 5
を試してみましたが、しかし、これはまた、唯一のTRUE =可能なレコードを返します。
ここで私の髪を裂く - 私は何が欠けているのですか?デフォルトですか?
ちょうど 'available = false'です。ブール値をチェックする別の方法があります: 'length(available :: text)<5';) – Abelisto