我有一个简单的 mysql 表,用作服务器预订系统。如果用户拥有该服务器的有效预订,则他可以登录到该服务器。示例数据可能如下所示:
+----------+----------------+---------------------+---------------------+
| server | user | start | end |
+----------+----------------+---------------------+---------------------+
| server01 | Alice,Bob | 2013-10-28 00:00:00 | 2013-12-31 00:00:00 |
| server02 | Carlos | 2013-10-28 00:00:00 | 2013-12-31 00:00:00 |
| server03 | Dan,Erin,Frank | 2013-10-28 00:00:00 | 2013-12-31 00:00:00 |
+----------+----------------+---------------------+---------------------+
Run Code Online (Sandbox Code Playgroud)
要检查用户Carlos
是否预订了server02
,我使用以下 SQL 查询:
SELECT 0, id FROM booking WHERE user = 'Carlos'
AND (( start < now() and end > now() ) AND server = 'server02') ;
Run Code Online (Sandbox Code Playgroud)
但如果有多个(逗号分隔)用户,则此查询不起作用。如何查看是否 …
我有一个简单的房间预订系统,由下表组成:
booking
| id | user | begin | end |
room
| id | name |
booking_map
| id | room_id |
Run Code Online (Sandbox Code Playgroud)
我可以使用以下查询列出当前预订的所有房间:
SELECT booking.id,booking.user,booking.begin,booking.end,room.name
FROM booking,booking_map,room WHERE ((booking.id = booking_map.id)
AND (room.id = booking_map.room_id) AND (begin < now()) AND (end > now()));
Run Code Online (Sandbox Code Playgroud)
但是我如何列出所有免费的房间?
mysql ×2