You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access编写两表关联查询列出全部员工及指定日期自评提交记录

MS Access 员工自评查询修正方案

问题根源

当前查询的核心问题是将Assessment表的Date Signed字段筛选条件写在了WHERE子句中。左连接生成的未提交自评员工的Date Signed值为NULL,不满足日期区间判断条件,会被直接过滤,最终仅能展示提交过自评的员工记录,相当于LEFT JOIN被变相转为了INNER JOIN。

修正后的查询代码

将日期筛选条件移到LEFT JOIN的关联条件中即可,该写法只会过滤Assessment表的匹配记录,不会排除未提交自评的员工:

SELECT [Employee Info].ID, [Employee Info].[Employee Name], [Employee Info].[Employee Number], Assessment.[Date Signed]
FROM [Employee Info] LEFT JOIN Assessment 
ON (
  [Employee Info].[Employee Number] = Assessment.[Employee Number] 
  AND Assessment.[Date Signed] >= [Start Date] 
  AND Assessment.[Date Signed] <= [End Date]
)
ORDER BY Assessment.[Date Signed] DESC, [Employee Info].[Employee Number];

优化建议

  • 关联条件优先使用Employee Number(工号)而非姓名,可避免员工重名导致的关联匹配错误
  • 若仅需要查询当日的自评情况,可直接把日期条件替换为Assessment.[Date Signed] = DATE(),无需手动输入起止日期参数

内容的提问来源于stack exchange,提问作者DG_Riverhawk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:09:03