2011-06-10 4 views
0

나는 관련된 칼럼을 가진 뒤에 오는 테이블이 있습니다.그 (것)들에있는 날짜를 가진 행의 백분율을 얻으십시오 - 그룹화하십시오

각 직원은 하나 이상의 상점에 속할 수 있습니다. 각 상점은 하나의 그룹에 있습니다.

종업원

EmployeeId Number 
Certified DateTime 

EmployeeStores

EmployeeStoreId Number 
EmployeeId Number 
StoreId Number 

저장

StoreId Number 
GroupId Number 

나는 홍보 필요 그룹인증 필드의 백분율을 Employees 테이블에 완료 한 백분율을 표시하는 쿼리를 실행하십시오. 그래서, 그룹 A, 그룹 B와 그룹 C 가정, 결과 집합이 있어야합니다 이것은 Access에서

Group A 13 
Group B 42 
Group C 21 
Other 24 

을 수행 할 수 있습니까?

답변

1

이 쿼리를 생성하여 올바른 값을 반환하는지 확인하고 qryGroupCert_base로 저장하십시오.

SELECT 
    d.GroupId, 
    Sum(d.cert_complete) AS SumOfcert_complete, 
    Count(d.cert_complete) AS CountOfcert_complete 
FROM 
    [SELECT DISTINCT 
     s.GroupId, 
     e.EmployeeID, 
     IIf(e.Certified Is Null,0,1) AS cert_complete 
    FROM 
     (Stores AS s 
     INNER JOIN EmployeeStores AS es 
     ON s.StoreId = es.StoreId) 
     INNER JOIN Employees AS e 
     ON es.EmployeeId = e.EmployeeID 
    ]. AS d 
GROUP BY d.GroupId; 

그런 다음 qryGroupCert_base를 원본으로 사용하는 새 쿼리를 작성하십시오.

SELECT 
    q.GroupId, 
    (SumOfcert_complete/CountOfcert_complete) * 100 AS percent_certified 
FROM 
    qryGroupCert_base AS q; 
+0

완벽하게 작동했습니다. 고맙습니다! – CoderForHire

+0

제발 내 대답을 참조하십시오. – CoderForHire

관련 문제