フライトの予約を保存するためのプロトタイプ データベースを開発しています。予約日が 24 時間より前で、ステータスが「H」のすべての行を選択できるようにする必要があります。これまでのところ、私はこれを持っています:
SELECT * FROM FlightBooking WHERE ((extract (epoch from (NOW() - (SELECT BookingTime FROM FlightBooking))))/3600) > 24 AND Status = 'H';
ただし、基準を満たす行が複数ある場合、これは「式として使用されるサブクエリによって複数の行が返されました」というエラーで失敗します。
失敗する理由はわかっているのですが、解決方法が思い浮かびませんか?
また、はい、ほとんどの DBMS にはこの比較をはるかに簡単にする機能があることは承知していますが、私の知る限り、postgres にはありません。