在MS Access 2010中,我有一个名为MyTable的表,其中包含以下字段:
visit_id, client_id, associate_id, startTime, StopTime, VisitDate
我想在某个特定日期找到在Time1和Time2之间没有预约访问的员工。
我选择的方法是检查在该间隔内有访问者的查询中哪些伙伴不会出现,如下所示:
Select associate_id from
myTable
Where associate_id not in
(select associate_id from Mytable where visitStart <= Time2 AND VisitStop > Time1)
这需要永远在MS Access 2010中运行,并且不是一个可行的解决方案。 在MS Access中是否有更有效的解决方案?
答案 0 :(得分:2)
您可以尝试将DISTINCT关键字添加到子查询中。
如果这没有帮助你可以尝试这样的事情:
Select associate_id
From myTable
Group by associate_id
Having sum(IIf(startTime <= Time2 AND StopTime> Time1, 1, 0) = 0
您当然还需要过滤VisitDate。