2012-12-17 2 views
2

아래 쿼리에서 잘못된 내용을 아는 사람이 있습니까? 석사 액세스 2010을 실행하는 경우MS Access의 INNER JOIN 문제

SELECT S1.[Company], COUNT(S1.[Milestone]) AS ShouldBeMilestones 

FROM Sheet1 AS S1 

INNER JOIN Sheet1 S2 
ON S2.[Company] = S1.[Company] 
AND S2.[Project] = S1.[Project] 
AND S2.[Milestone] = 'Milestone 1' 
AND S2.[%compl#] = 100 

INNER JOIN Sheet1 S3 
ON S3.[Company] = S1.[Company] 
AND S3.[Project] = S1.[Project] 
AND S3.[Milestone] = 'Milestone 2' 
AND S3.[%compl#] = 100 

WHERE ((S1.[Task class] <> 'A') AND (S1.[Task class] <> 'B') AND (S1.[Task class] <> '')) 
AND S1.[Milestone] NOT LIKE '0.*' AND S1.[Milestone] NOT LIKE '1.*' 
AND S1.[Start] <= Now() 

GROUP BY S1.[Company]; 

나는

어떤 생각 주시면 감사하겠습니다 ... 메시지 "FROM 절에 구문 오류"는 무엇입니까!

감사합니다,

+3

Access에서 다중 조인을 사용하려면 '(())'을 사용해야한다는 사실을 기억해야합니다 (그러나 확실하게 기억할 수는 없습니다). 그래서 'FROM (((Sheet1 AS s1) INNER JOIN Sheet1 S2 ON .....) INNER JOIN Sheet1 S3 ON ....)' –

답변

0

MS 액세스 SQL은 쿼리를 다 가입에 JOIN의 괄호를 넣어해야한다는 점에서 이상하다. 나는이 특징을 싫어하고 그 뒤에있는 "논리"를 아직 풀지 못했다. Access query-builder에서이 간단한 버전을 다시 빌드 한 다음 괄호를 사용하지 않고 편집 할 수 있습니다.

+0

사실 저는 SQL 편집기를 통해 그것을 작성했습니다. 마법사를 통해 빌드하려고했지만 작동하지 않습니다. 괄호로 시작하는 법은 모르겠다. 너는 제안이 있니? 감사!!! –

+0

나는 신용을 훔치고 싶지 않다. @MichaelBerkowski는 귀하의 질문에 대한 의견에 아이디어가있는 것으로 보입니다. –

+0

안녕하세요. 마이클이 제안한 작업을 수행하여 새로운 메시지 오류가 발생했습니다 : "지원되지 않음" –