在Access中使用SELECT DISTINCT,SELECT COUNT和UPDATE计算出现次数

时间:2008-12-08 19:34:38

标签: sql ms-access

在Access中,我有一个像这样的表:

Date      | EmployeeNum | Award
11-JAN-08 | 34          | GoldStar
13-JAN-08 | 875         | BronzeTrophy
13-JAN-08 | 34          | BronzeTrophy
18-JAN-08 | 875         | BronzeTrophy

我希望像这样计算表格:

EmployeeNum | GoldStar | BronzeTrophy
34          |    1     |      1
875         |    0     |      2

我希望能够通过运行查询或类似的东西来生成此表。我已经尝试将其放入查询中,但我不确定我做得对。我尝试过使用UPDATE和SET = SELECT COUNT而没有太大的成功。

我该怎么做?我应该这样尝试吗?

3 个答案:

答案 0 :(得分:3)

您需要一个交叉表(aka pivot)查询。尝试以下SQL并进行修改以满足您的需求:

TRANSFORM Count(MyTable.EmployeeNum) AS AantalVanEmployeeNum
SELECT MyTable.EmployeeNum
FROM MyTable
GROUP BY MyTable.EmployeeNum
PIVOT MyTable.Award;

答案 1 :(得分:0)

在Access中,尝试“/ View / Pivot Table View”。

答案 2 :(得分:-1)

我会使用下面的查询来获取总数:

SELECT EmployeeNum, 
       SUM(Case [Award] WHEN 'GoldStar' THEN 1 ELSE 0 END) As [GoldStar], 
       SUM(CASE [Award] WHEN 'BronzeTrophy' THEN 1 ELSE 0 END) As [BronzeTrophy]
FROM MyTable
Group By EmployeeNum