过滤掉不存在的项目

时间:2015-10-20 15:17:23

标签: ms-access

我有2个表(包含不同的字段):

  • tbl_Report(UIN,GID,RDate,RTS_a)> (UIN = unique nr。)
  • tbl_Employee(GID,Sname,Gname,Org_Cd)> (GID = Unique 8 char string)

基于GID的链接是1到多个

tbl_Report:每个员工(GID)每月生成一种或多种报告(RTS_a = SR,IR或OR)

我想创建2个查询:

  • (1)为所有员工,以便我可以看到哪个员工提供了多少指定类型的报告 在每个月,即使员工根本没有输入报告.. RTS_a WHERE [输入Vald RTS_a] 年份([Rdate])[输入年份]

  • (2)员工的概述(由报告类型RTS_a选择)谁没有 提供给定年份的报告(Rdate) RTS_a WHERE [输入Vald RTS_a] 年份([Rdate])[输入年份]

  • 问题是我不知道如何得到其中的员工,他们根本没有输入数据...... 我已尝试在RTS_a下的查询条件:[输入有效的RTS_a]“”或[输入有效的RTS_a]是否为空 但这似乎不起作用 (当我尝试使用时,某种程度上出现了问题:

  • 。何处不存在?

  • 作为一名非母语为英语的Access初学者......(并完全失去了...) 我可以在这方面使用一些帮助......

1 个答案:

答案 0 :(得分:0)

你必须使用outer join。在您的查询中,在设计模式下,您应该同时拥有这两个表,并在tbl_Employee.GID和tbl_Report.GID之间建立链接。 双击链接(或右键单击并选择“加入属性”),然后单击选项2或3(表示您希望所有员工和匹配的报告。

编辑:对于第(2)点,您必须查询那些在[输入年份]中输入数据的人,然后进行另一个查询,“外部加入”员工和员工与数据合作年份WHERE EmployeesWithoutDataInYearX.employeeId is Null