【发布时间】:2015-02-06 20:04:51
【问题描述】:
我查看了多个线程,但似乎无法为我的问题找到理想的答案。我正在创建一个带有调度程序的系统,我需要多个链才能让查询返回答案。所以这里是场景。用户需要注册,注册后,用户会看到一个日期。
- 我有用户表,其中列出了用户(显然)。这里有一栏是日期。
- 还有一个存储日期的日期表。每个日期只能容纳 30 人。
- 日期表也有可用性列。如果日期可用,则标记为 1。如果日期已过期(当前日期高于此日期),则标记为 0。
例如,我有日期 1 月 1 日、1 月 2 日和 1 月 3 日,当前日期是 1 月 2 日。显然,1 月 1 日应该过期。这不会包含在列表中,因此我将可用性设置为 0(是的,手动)。只有1月2日和1月3日。我还需要找到1月2日是否容纳了30人。否则,我需要把他安排到 1 月 3 日。我得到了一堆我不知道如何链接的代码部分。
预期输出: query1(1 月 2 日和 1 月 3 日应该是结果)
SELECT * FROM rooms WHERE availability = 0
RoomID Room Date Room Availability
1 Jan 1 1
2 Jan 2 0
3 Jan 3 0
query2 -(统计分配到特定房间的人数)
SELECT COUNT(RoomAssigned) FROM users
Users RoomAssigned
Jack 2
Eddie 2
query3 - (系统应该能够找到第一个可用的房间) 如果(查询2结果
如果我正在寻找的链接可能不可取,我愿意接受不同的建议。谢谢。 :)
【问题讨论】:
-
我不明白查询 1 的输出。你说
WHERE availability = 0,为什么它显示房间availability = 1? -
您在顶部列出了两个表:
users和date。查询 1 中的rooms表是什么?