2008-12-08 7 views
1

Dans Access, j'ai une table comme celle-ci:occurrences de comptage avec SELECT DISTINCT, SELECT COUNT et UPDATE dans Access

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

Et je veux avoir une table les compter comme ceci:

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

Je veux être en mesure de générer cette table en exécutant une requête ou quelque chose de similaire. J'ai essayé de mettre ceci dans une question mais je ne suis pas vraiment sûr de le faire correctement. J'ai essayé d'utiliser UPDATE et SET = SELECT COUNT sans trop de succès.

Comment est-ce que je devrais faire ceci? Devrais-je l'essayer comme ça?

Répondre

3

Vous aurez besoin d'une requête de tableau croisé (aka pivot) pour cela. Essayez le code SQL suivant et modifiez-le en fonction de vos besoins:

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

Dans Access, essayez «/ View/Tableau Pivot».

+0

C'est la bonne solution! Qui vous a rabaissé? –

-1

J'utilise la requête ci-dessous pour obtenir vos totaux:

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 
Questions connexes