Réalisation d'un double comptage SQL

Fermé
PapiJon11 Messages postés 1 Date d'inscription mardi 10 décembre 2013 Statut Membre Dernière intervention 10 décembre 2013 - 10 déc. 2013 à 17:15
francis0001 Messages postés 22 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 23 décembre 2013 - 11 déc. 2013 à 00:36
Bonjour la communauté,

Dans le cadre d'un examen à la fac je dois réaliser un projet sous Access et je suis très loin de maîtriser l'outils. Je souhaiterais donc un peu d'aide quant à une requête SQL qui met demandée.

La question est la suivante: Trouver le nombre d'email envoyé par jour et par expéditeur.

Mon problème est le suivant: je n'arrive pas à faire en sorte que les données sortent dans une table et regroupent tous les critères de la question posée.

Ma table est la suivante:

PId OId OName sentDate EmailId
24 7 Office de Tourisme 11/09/2013 36
24 7 Office de Tourisme 11/09/2013 37
26 1 IAE Toulouse 13/09/2013 27
30 5 Universite Mirail 10/11/2013 21
29 1 IAE Toulouse 10/11/2013 32
41 1 IAE Toulouse 10/11/2013 34
27 6 Fnac 11/11/2013 26
27 3 UT1 Capitole 11/11/2013 26
26 1 IAE Toulouse 12/11/2013 24
25 1 IAE Toulouse 12/11/2013 46
40 5 Universite Mirail 12/11/2013 30
33 1 IAE Toulouse 13/11/2013 25
33 11 Europolia 13/11/2013 25
39 14 Apple 13/11/2013 45
26 1 IAE Toulouse 04/12/2013 28

Merci de votre aide.
A voir également:

2 réponses

Bonsoir,
Ce qu'il te faut c'est une requête croisée, mais plutôt que de passer tout de suite au SQL, il vaut mieux la construire en visuel, et après la convertir en SQL
A savoir que les requêtes croisées dans Access ne supportent qu'une seule variable en colonne mais autant qu'on le souhaite en ligne, pour ce qui est des valeurs (la variable posée en valeurs dans la requête il suffit de choisir son type dans la liste déroulante proposée par Access.
Ainsi tu ouvres l'onglet Créer/Création de Requête , tu choisis ta table dans la fenêtre, après avoir fermer la fenêtre tu sélectionnes tes champs ( OId, OName, sentDate, EmailId)(je n'ai pas compris à quoi correspondait le PId) et tu affectes à chaque type de données (champ) la fonction que tu veux qu'ils occupent dans ta requête croisée, en l'occurrence : OId, OName = lignes / sentDate = colonne / EmailId. Nbre = valeur.
En exécutant la requête tu obtiens le tableau recherché.
0
francis0001 Messages postés 22 Date d'inscription jeudi 11 décembre 2008 Statut Membre Dernière intervention 23 décembre 2013 1
11 déc. 2013 à 00:36
Logiquement, ce devrait être cette requête :

SELECT count(*)
FROM nom_de_ta_table
GROUP BY sentDate, PId

Je crois que le champ PId est le champ expéditeur mais je n'en suis plus très certain...
0