2012-07-06 1 views
1

Access 2003 테이블의 필드에 이름이 몇 번 나타나는지 보여 드리고 싶습니다.Access에서 하나의 테이블에 행이 몇 번 나타나는지 계산합니다.

Tabel : :이 예 here 사용

: 여기에 테이블 구조와 내용의

 1 - Name1 
    1 - Name2 
    2 - Name1 
    2 - Name3 
    3 - Name1 
    3 - Name2 

결과 다음

Name1 - 3 
    Name2 - 2 
    Name3 - 1 

는 코드 내가 가지고

SELECT DISTINCT [tbl funktietitels].persoon, 

      [tbl funktietitels].funktiecode, [tbl funktietitels].funktietitel, [tbl funktietitels].userID, [tbl funktietitels].adres, [tbl funktietitels].dept, EXISTS 
      (
       SELECT [tbl funktietitels].funktiecode, COUNT([tbl funktietitels].funktiecode) 
       FROM [tbl funktietitels] 
       GROUP BY [tbl funktietitels].funktiecode 
      ) AS 'AMOUNT' 
FROM ([tbl goedkeuring] 

      INNER JOIN [tbl funktietitels] ON [tbl goedkeuring].goedk1 = [tbl funktietitels].funktiecode) 
      INNER JOIN [tbl doc] ON [tbl goedkeuring].volgnummer = [tbl doc].goedID 


WHERE ((([tbl goedkeuring].bevestiging)=False)); 

결과로 표시되는 내용은 다음과 같습니다.

persoon funktiecode funktietitel  userID adres dept 'AMOUNT' 
Name, Name2 DLB   King of the sea  JGO   LOG  � 

필드가 테이블에 나타나는 횟수는 어떻게 계산합니까?

답변

0

내가 생각 해낸 해결책 :

SELECT DISTINCT [tbl funktietitels].persoon, 
      [tbl goedkeuring].goedk1, 
      [tbl goedkeuring].db_user 

      (SELECT count(*) 
       FROM [tbl goedkeuring] 
       WHERE [tbl goedkeuring].goedk1 = [tbl funktietitels].funktiecode 
        AND ((([tbl goedkeuring].bevestiging)=False)) 
      ) AS aantal 

    FROM [tbl goedkeuring] 
     INNER JOIN [tbl funktietitels] 
      ON [tbl goedkeuring].goedk1 = [tbl funktietitels].funktiecode; 
0

코드가 주 테이블과 동일한 경우 계산을 원한다고 생각합니다. 이 예제에서는 [tbl funktietitels]을 t로, f로 별칭을 지정합니다.

SELECT DISTINCT f.persoon, 
      f.funktiecode, 
      f.funktietitel, 
      f.userID, 
      f.adres, 
      f.dept, 
      (
       SELECT COUNT(t.funktiecode) 
       FROM [tbl funktietitels] t 
       WHERE t.funktiecode = f.funktiecode 
      ) AS 'AMOUNT' 
     FROM ([tbl goedkeuring] 
     INNER JOIN [tbl funktietitels] f 
      ON [tbl goedkeuring].goedk1 = f.funktiecode) 
     INNER JOIN [tbl doc] 
      ON [tbl goedkeuring].volgnummer = [tbl doc].goedID 
     WHERE ((([tbl goedkeuring].bevestiging)=False));