2016-06-08 6 views
0

을 취하고, 나는 다음과 같은 필드를 MyTable라는 테이블이 있습니다MS 액세스 MS 액세스 2010 년 영원히

visit_id, client_id, associate_id, startTime, StopTime, VisitDate 

내가 사이에 예약 방문을 해달라고 동료를 찾으려면를 특정 날짜의 Time1 및 Time2.

내 선택 방법은 다음과 같이 그 구간 내에서 방문을하는 사람들의 쿼리에서 설정 해달라고하는 동료 확인되는 :

이 MS 액세스 2010에서 실행 영원히 소요
Select associate_id from 
myTable 
Where associate_id not in 
    (select associate_id from Mytable where visitStart <= Time2 AND VisitStop > Time1) 

, 실행 가능한 솔루션이 아닙니다. MS Access에서보다 효율적인 솔루션이 있습니까?

답변

2

하위 쿼리에 DISTINCT 키워드를 추가 할 수 있습니다.

그건 당신이 이런 식으로 뭔가를 시도 할 수 있습니다 도움이되지 않는 경우 : 당신은 여전히 ​​물론 VisitDate를 필터링해야 할 것

Select associate_id 
From myTable 
Group by associate_id 
Having sum(IIf(startTime <= Time2 AND StopTime> Time1, 1, 0) = 0 

.

+0

정말 고마워요. "HAVING"을 사용하면 문제가 해결되었습니다. –