我有一个简单的教室预订系统,有两张桌子:
房间 :
1. id
2. name
3. localisation
日历 :
1. id
2. idroom
3. year
4. month
5. days
days 是一个 31 个字符的字符串(每天 1 个字符)。字符可以是:“0”免费;“1”为第一步预订;“3”表示占用
日历是在需要时创建的,所以我的问题是当我要求未占用的教室时,要获取在我检查期间没有日历条目的教室。例如,教室 1 从 2013 年 1 月 12 日到 2013 年 3 月 2 日被占用,我的日历表中没有更多关于该教室的条目。如果我要求从 2013 年 1 月 12 日到 2013 年 4 月 12 日的预订,我不知道如何在结果中包含教室 1。月份可以为空,年份也可以。我尝试左连接,并且“为空”但没有成功。
这是我请求的第一部分,它有效,但在此期间不显示“没有日历的房间”:
SELECT DISTINCT room.id
FROM room LEFT JOIN
calendar
ON room.id=calendar.idroom
WHERE (calendar.year=2013 AND calendar.month=12 and calendar.days like "0000%")
谢谢您的帮助。