请考虑以下两个表格:
Holidays
HolidayID (PK)
Destination
Length
MaximumNumber
...
Bookings
BookingID (PK)
HolidayID (FK)
Name
...
客户可以预订假期(例如去夏威夷)。但是,假设给定的假期有最大数量的地方。例如,今年夏威夷只有 75 个假期(忽略其他年份)。
因此,如果某些客户想预订去夏威夷度假。我需要计算 Bookings 表中的记录,如果该数字大于 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,第二个查询给出 75,我可以在 PHP 中比较这些值。但我想知道是否有办法仅在 SQL 中以某种方式做到这一点。