在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而没有太大的成功。
我该怎么做?我应该这样尝试吗?
答案 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