【发布时间】:2016-02-03 14:52:28
【问题描述】:
所以我有 3 个表:
客户 = 客户 ID、客户名称、
房间 = RoomID、RoomName
Booking = BookingID、RoomID、ClientID、Status(3 个可能的值:Booked、Checked-In、Checked-Out)、CheckInDate、CheckOutDate
RoomID 和 ClientID 与 booking 表中的字段是一对多的关系
我的目标是创建一个查询,显示当前时间的所有房间,并显示它们的状态以及居住者的信息(如果有的话)以及每个房间的入住退房时间,这些字段包括:
RoomStatus = RoomName、Status(4 个可能的值:Empty、Booked、Checked-In、Checked-Out(可能不需要,因为住户不再在房间内))、ClientName、CheckInDate、退房日期
我设法创建了简单的查询,该查询使用表之间的关系,显示所有当前使用的房间,显示我需要的所有信息。但是当我无法在查询中显示未使用的房间时,就会出现问题。由于状态字段位于预订表中以保持简单,因此房间表本身没有状态字段可供使用。
我尝试进行空查询,使用房间 id 字段显示房间的所有记录,并创建与具有空值的工作字段相似的新字段,并尝试将其与工作字段合并。但是,左连接只选择相似的记录,最终只显示与以前相同的内容,并且联合提供重复项。但我认为如果这种方法确实有效,那就是“混乱”了。
所以我愿意接受比我提出的方法更好的任何其他方法。非常感谢。
【问题讨论】:
-
您能否输入您的输入和所需的输出,以便我们找出写下查询/指出正确方向的最佳方法?
-
如果您将房间表中的已占用房间除外,然后生成第二个查询,最后将结果与第一个查询的结果联合起来,则您的方法将起作用。
-
@Veljko89 编辑问题以便更好地理解
-
@Mahmoud 显然 EXCEPT 方法在 Access Query SQL 中不起作用,但如果有替代方法,我会更多地研究它