1

我想显示一个名称在 Access 2003 表的字段中出现的次数。这是表结构和内容:

我在这里使用了这个例子:

标签:

     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      �

如何计算一个字段在表格中出现的次数?

4

2 回答 2

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));
于 2012-07-06T10:54:56.910 回答
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;
于 2012-07-09T06:32:17.340 回答