次の2つの表を考慮してください。
Holidays
HolidayID (PK)
Destination
Length
MaximumNumber
...
Bookings
BookingID (PK)
HolidayID (FK)
Name
...
顧客は休日を予約できます(たとえば、ハワイに行く)。ただし、特定の休日に最大数の場所があるとします。たとえば、今年のハワイの休日は75回だけです(他の年は無視します)。
したがって、一部の顧客がハワイへの休暇を予約したい場合。予約テーブルのレコードを数える必要があり、その数が75を超える場合は、手遅れであることを顧客に伝える必要があります。これは、2つのMySQLクエリ(1つは休日のMaximumNumberを取得し、2つはBookingsから現在の合計を取得する)とPHP(たとえば)を使用して、カウント値をハワイの休日の最大数と比較することで実行できます。しかし、これを純粋にSQL(この場合はMySQL)で行う方法があるかどうか知りたいですか?つまり、ハワイの予約数を数え、ハワイのMaximumNumber値と比較します。
編集:私の方法:
$query1 = "SELECT MaximumNumber FROM Holidays WHERE HolidayID=$hawaiiID";
$query2 = "SELECT COUNT(BookingID) FROM Bookings WHERE HolidayID=$hawaiiID";
したがって、最初のクエリで75が得られ、2番目のクエリで75が得られた場合、PHPでこれらの値を比較できます。しかし、SQLだけでこれを行う方法があるのではないかと思いました。