2017-09-20 1 views
0

액세스 할 때 아래의 SQL 쿼리를 실행하려고합니다. 내가 쓴 쿼리는 다음과 같습니다MS 액세스 오류, 집계 함수

"You tried to execute a query that does not include the specified expression 'ID' as part of an aggregate function"

: 나는 MS 액세스 오류가 계속

SELECT Subject.ID, Subject.Description, Max(DataSets.ID) AS ID_DataSets 
FROM Subject 
INNER JOIN DataSets ON Subject.Description = DataSets.Subject.Value 
GROUP BY Subject.ID, Subject.Description; 
+1

이 관계에 대해 확실합니까? Subject.Description = DataSets.Subject.Value? –

+1

MS Access는 대괄호 나 역 따옴표로 이스케이프 처리하지 않는 한 테이블 이름/별칭과 필드 사이의 하나의 마침표 한정자와 만 작동합니다. 'DataSets.Subject.Value'를 설명하십시오. – Parfait

+0

Chetan Vasudevan - 네, 그 관계에 대해 확신합니다. 나는 그것이 2 테이블을 연결하는 'ID'이지만 불행히도 테이블을 만들지 않았 으면 좋겠다. – DSanni

답변

0

내가이 참조 DataSets.Subject.Value의 오류를 볼 수 있지만 나는 그 오류를 생성 할 모르겠어요 메시지. 이 버전을 사용해보십시오 :

SELECT s.ID, s.Description, Max(ds.ID) AS ID_DataSets 
FROM Subject as s INNER JOIN 
    DataSets as ds 
    ON s.Description = ds.Value -- is this correct? 
GROUP BY s.ID, s.Description; 

테이블 별명을 사용할 때 더 쉽게 읽고 쓸 수 있습니다.

+0

필자는 별칭 작성이 실제로 DataSets에 도착한 방법을 알지 못하는 가장 좋은 방법이라고 생각합니다 .Subject.Value? 그게 내가 거기서 설명했다는 이유. 질문자가 관계의 그 부분에서 틀렸다면 질문은 완벽한 대답이되어야합니다. –

+0

* 오류가 나타납니다 * ... 미래의 독자를 위해이 오류가 무엇인지 조언 해주세요. 보았다. – Parfait