这是剧院座位预订计划。
Seat No Status
1 Booked
2 Available
3 Available
4 Available
5 Available
6 Available
7 Booked
8 Available
9 Available
10 Available
如果有人想订6张票,他会得到2号至6号座位和8号座位
如果某人只想预订5张票,他将获得2至6号座位
我如何使用 SQL 查询(或 PHP 代码)知道相邻可用座位是否多于请求的座位?
顺序选座是我需要实现的主要目标。
尝试这个:
select seat, status
from seats
where seat >= (
select a.seat
from seats a
left join seats b on
a.seat < b.seat and
b.seat < a.seat + 4 and
b.status = 'Available'
where a.status = 'Available'
group by a.seat
having count(b.seat)+1 = 4
)
limit 4
这将选择连续四个席位。将“4”的所有实例调整为所需的座位数以获得您想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)