하나의 Access 테이블에서 데이터를 선택하는 간단한 쿼리가 있습니다. 레코드 필드 중 하나는 submittalID 필드를 통해 다른 테이블 (submittalfwd)의 네 날짜와 상관됩니다. 큰 쿼리에서 반환 된 각 레코드에 대해 오름차순 (Date1, Date2, ...)으로 쿼리의 일부로 4 개의 날짜를 선택하고 싶습니다.MS Access SubQueries
나는 LIMIT 및 OFFSET을 Access에서 사용할 수 없다는 것을 알고 있으므로 4 개의 레코드를 오름차순으로 선택하는 것이 가장 효율적인 방법인지 확신하지 못합니다.
아래의 쿼리는 거의 작동하지만 MS Access는 WHERE 절에서 SUB.submittalID를 인식 할 수 없습니다.
도움을 주시면 감사하겠습니다. 감사합니다,
SELECT SUB.submittalID,
(SELECT TOP 1 subq2.subfwddate FROM
(SELECT TOP 2 subq2.subfwddate FROM submittalfwd AS subq2
WHERE subq2.submittal = SUB.submittalID ORDER BY subq2.subfwddate ASC)
ORDER BY subq2.subfwddate DESC) AS Date2
FROM submittals AS SUB;
샘플 데이터 - submittalfwd 테이블
subfwdID submittal subfwddate 1 1 12/9/2012 2 1 12/10/2012 3 1 12/11/2012 4 1 12/12/2012 5 2 12/13/2012 6 2 12/14/2012 7 2 12/15/2012 8 2 12/16/2012
DFirst() 또는 DMax() 함수로 하위 쿼리를 대체하여 단순화하려고 했습니까? 또는 결국, Allen Browne의 Elookup(), 여기에서 찾을 수 있습니다 : http://allenbrowne.com/ser-42.html –
미안하지만 복잡합니다. 문제의 한 부분으로 잘라 냈습니다. – Seth
DFirst 나 DMax에 익숙하지 않아요.하지만 제가 살펴 보겠습니다. – Seth