J'ai un petit problème sur une requête SQL sous Access :
J'ai une table où il y a 2 identifiants : id_pilote et id_avion
Je voudrais afficher pour chaque pilote le nombre d'avions différents qu'il pilote ...
Moi j'ai mis ça :
SELECT DISTINCT id_pilote, COUNT(id_avion)
FROM VOL;
Mais le problème c'est qu'il compte le nombre total d'avions qu'il pilote, même si un même identifiant d'avion revient plusieurs fois pour un même pilote ...
exemple : Le pilote effectue 5 vols sur 4 avions différents => il me met comme valeur 5 alors que je veux 4 !!!
Si quelqu'un a la réponse à mon problème qu'il se manifeste svp, merci
Publicité
Posté le 28-11-2002 à 23:31:29
_maximus_
Goret ptit con ^_^
Posté le 29-11-2002 à 00:06:32
SELECT id_pilote, COUNT(id_avion) FROM VOL GROUP BY id_avion;
---------------
Ptit con de goret je t'emmerde ^_^
Fred999
Rabat-joie
Posté le 29-11-2002 à 11:30:56
Oui, quand tu effectues une requête de type COUNT, le GROUP BY est nécessaire pour que les résultats affichés soient corrects.
Et, si ta requête est du style
select champ1,
champ2,
count (champ3)
alors le group by sera :
group by champ1, champ2.
Agagax
Posté le 29-11-2002 à 14:06:28
SELECT id_pilote, COUNT(DISTINCT id_avion)
FROM VOL
GROUP BY id_pilote;
Fred999
Rabat-joie
Posté le 29-11-2002 à 14:15:20
Ha oui, j'avais pas vu le "différents" dans le 1er post
Agagax
Posté le 29-11-2002 à 14:31:10
Et moi j'ai pas vu que c'était sous Access Et Access 97 n'accepte pas le count(distinct...) donc ma requete ne marche pas.
Euh on t'as obligé d'utiliser Access ?
Si oui, fais 2 requêtes, l'une avec un distinct, la suivante avec count() basée sur la premiere.
Désolé je ne suis pas spécialiste d'Access, si quelqu'un a une solution plus élégante...