SQL sous ACCES 2003

Résolu
diocool Messages postés 371 Statut Membre -  
diocool Messages postés 371 Statut Membre -
Bonjour,
je voudrais exécuter une requête SQL sous accès mais je n'y arrive pas.
J'ai 2 tables:
-CLIENTS(NUMCLI,NOM,ADR,CA,REGION)
NUMCLI: numéro client
NOM: nom du client
ADR: adresse
CA: chiffre d'affaires annuel du client
REGION: région où habite le client

-COMMANDES(NUMCLI,NUMCOM,DATECOM)
NUMCLI: numéro client
NUMCOM: numéro commande
DATECOM: date commande

Voici la requête: De combien de régions différentes viennent les commandes clients?
SQL: SELECT COUNT(DISTINCT REGION) FROM CLIENTS AS CLI,COMMANDES AS COM WHERE CLI.NUMCLI=COM.NUMCLI;
ERREUR AFFICHEE: Erreur de syntaxe (opérateur absent) dans l'expression 'COUNT(DISTINCT REGION)'
A voir également:

8 réponses

paglop !!! Messages postés 856 Statut Membre 234
 
Pourquoi tu as fait une jointure

SELECT COUNT(DISTINCT REGION) FROM CLIENTS;

Ça te donne le nombre de région déjà ça !

Après tu veut peut être en fonction de chaque client
1
diocool Messages postés 371 Statut Membre 12
 
REGION se trouve dans la table CLIENTS et non dans la table COMMANDES.
0
paglop !!! Messages postés 856 Statut Membre 234
 
1) tu veut savoir le nombre de region ou tu a eu une commande, ou le nombre de region en fonction d'un numéro de commande ?

SELECT COUNT(DISTINCT REGION) FROM CLIENTS;

REGION se trouve dans la table CLIENTS et non dans la table COMMANDES.

Ou tu voit la table commande dans cette requette ?
0
diocool Messages postés 371 Statut Membre 12
 
Justement c'est pour celà que j'ai fait la jointure.
Je veux savoir le nombre de régions d'où proviennent les commandes.
0
paglop !!! Messages postés 856 Statut Membre 234
 
As tu des client qui ne font pas de commande ?

Explique le plus précisément possible la requette que tu souhaite obtenir ! Parce que je comprend pas bien ou tu veut en venir !
0
diocool Messages postés 371 Statut Membre 12
 
oui, c ça.
Si tous les clients avaient fait de commande on aurait simplement compté le nombre de régions dans la table CLIENTS.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
paglop !!! Messages postés 856 Statut Membre 234
 
SELECT COUNT(DISTINCT REGION) FROM CLIENTS WHERE NUMCLI IN (SELECT NUMCLI FROM COMMANDES;);
0
paglop !!! Messages postés 856 Statut Membre 234
 
SELECT COUNT(DISTINCT REGION) FROM CLIENTS WHERE NUMCLI IN (SELECT DISTINCT NUMCLI FROM COMMANDES;);
0
diocool Messages postés 371 Statut Membre 12
 
Toujours le même message d'erreur
0
Utilisateur anonyme
 
Bonjour

count(distinct...) ne fonctionne pas sous accès 2003.

tu peux essayer :
SELECT Count(*)
FROM
(select distinct region from CLIENTS, COMMANDES
WHERE CLIENTS.Numcli=Commandes.NUMCLI)

A+
0
diocool Messages postés 371 Statut Membre 12
 
Super! ça marche.
Je vous remercie tous.
0