テーブル コールの予約があり、すべての車両のすべての予約が含まれています。そして、1 = スケジュール済み、2 = 保留中、0 = キャンセル済みを意味するreservationStatusフィールドがあります。
したがって、現在の保留中のレコードに基づいて、テーブルから次の予約日を選択したいと考えています。
だから私はこのコードを実行すると
SELECT dateFrom, dateTo FROM reservation WHERE reservationStatus = 2
現在保留中の予約が表示されます。ここから、dateFrom
フィールドが前のレコード以下の最初のレコードを返したいdateTo
ですか?
これは1つの選択ステートメントで行うことができますか? いくつかのphpで2つの別々のステートメントを使用して実行できることはわかっていますが、1つのクエリでMySqlに記述できるかどうか疑問に思っていましたか?
編集 - 質問に新しいビットが追加されました
これは、2 つのクエリといくつかの PHP で解決する方法です。
$sql = $db->query('SELECT dateTo FROM reservation WHERE Vehicle_id='. $id . ' AND reservationStatus = 2 LIMIT 1 ');
$first = $sql->fetch_assoc();
$sql->free();
$sql = $db->query('SELECT dateFrom FROM reservation WHERE Vehicle_id='. $id . ' AND reservationStatus = 1 AND (dateFrom > \''.$first['dateTo'] .'\') ORDER BY dateFrom ASC ');
$row = $sql->fetch_assoc();
$month = strtotime($first['dateTo']);
$end = strtotime($row['dateFrom']);