关于多对多查询MS Access的非常基本的问题



提前为这个问题的平庸和基本性质道歉,但我是Access的新手。我已经在网上搜索了我的Access书籍和圣经,但无法解决这个非常简单的问题:

我为员工和他们可能参加的活动建立了多对多的关系。员工可以参加许多活动。一个活动可以有很多员工参加。我写一个查询来列出参加过事件a事件C的员工没有问题。我不能做的是写一个询问来列出参加(例如(事件a事件C。

我有三张桌子:
员工。密钥:EmployeeId。(还包含姓名、职位等(
EmployeeEvent。密钥:ID,EmployeeID
事件。键:EventID(还包含事件名称、日期等(
Employee链接到EmployeeEvent。EmployeeID=EmployeeEvent。员工编号
事件链接到EmployeeEvent on Event。EventID=EmployeeEvent。身份证件
OR查询没有问题。只是不知道如何使AND查询工作。
这是我的第一篇帖子,非常感谢您的帮助!

一种暴力的方法是进行联合:

Select employeeID, EventID from EmployeeEvent
where employeeID = 9999999 and eventID = 8888
Union
Select employeeID, EventID from EmployeeEvent
where employeeID = 9999999 and eventID = 7777

"联盟"将清除结果中的任何重复项。"Union All"将保留任何重复项。

此查询不会显示在您的可视化查询编辑器中。它会显示类似"无法显示"的内容,但它应该运行。

您还可以执行两个选择查询,一个用于您要查找的每个Employee/Event组合,然后在内部联接中链接这两个查询。参加这两项活动的员工应在结果中显示。这取决于你希望如何看到你的结果。

相关内容

最新更新