ACCESS > select count group by + jointure
Résolu
xdiz
Messages postés
108
Date d'inscription
Statut
Membre
Dernière intervention
-
CaPiT Messages postés 609 Date d'inscription Statut Membre Dernière intervention -
CaPiT Messages postés 609 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
A l'aide de ce post http://www.commentcamarche.net/forum/affich 5138406 sql select count distinct group by access
dont je me suis aidé, j'ai reussi à faire ma requête cependant il faudrait une jointure en plus ....
id_perso est la clef primaire de la table dev_perso et la clef étrangère (sans integrité referencielle) de la table dev_devis
Je cherche à compter le nombre de personne en fonction des regions sur une periode donnée (date_creation). Cet attribut est dans une autre table : dev_devis. J'ai essayé de faire ceci (jointure + condition), mais sa me donne des resultats foireux !
Je fais trop compliquer ? Y'a-t-il plus simple, je galère depuis 1j, je n'y vois plus clair :/
Merci d'avoir lu ;)
A l'aide de ce post http://www.commentcamarche.net/forum/affich 5138406 sql select count distinct group by access
dont je me suis aidé, j'ai reussi à faire ma requête cependant il faudrait une jointure en plus ....
SELECT Count(dev_perso.id_perso) AS id_perso_monde, dev_perso.region FROM (select distinct * from dev_perso) WHERE dev_perso.region <> 'monde' GROUP BY dev_perso.region
id_perso_monde region 2 Montpellier 1 Nancy-Metz 1 Paris
id_perso est la clef primaire de la table dev_perso et la clef étrangère (sans integrité referencielle) de la table dev_devis
Je cherche à compter le nombre de personne en fonction des regions sur une periode donnée (date_creation). Cet attribut est dans une autre table : dev_devis. J'ai essayé de faire ceci (jointure + condition), mais sa me donne des resultats foireux !
SELECT Count(dev_perso.id_perso) AS id_perso_monde, dev_perso.region FROM (select distinct * from dev_perso), dev_devis WHERE dev_perso.region <> 'monde' AND (dev_devis.date_creation) BETWEEN #01/01/2008# And #31/12/2008# GROUP BY dev_perso.region
Je fais trop compliquer ? Y'a-t-il plus simple, je galère depuis 1j, je n'y vois plus clair :/
Merci d'avoir lu ;)
26 réponses
Bonjour,
Normal que tu ne sois pas là c'était le we ^^
Euh non, je vais essayer autre chose... je te tiens au courant ;)
Normal que tu ne sois pas là c'était le we ^^
Euh non, je vais essayer autre chose... je te tiens au courant ;)
Je travail sous PHP/ACCESS, voici un exemple :
$req1 = "SELECT DISTINCT dev_devis.id_perso FROM dev_devis;";
$query_perso_academie = " SELECT dev_perso.region, Count($req1.id_perso) AS Compte_id_perso
FROM dev_perso INNER JOIN $req1 ON dev_perso.id_perso = $req1.id_perso
GROUP BY dev_perso.region; ";
$result_perso_academie = odbc_exec($cnx, $query_perso_academie);
echo $query_perso_academie."<br />"; // permet de verifier si y'a une erreur de synthaxe ;)
Sous access tes 2 requetes marchent, mais pas en executant ce mini script :/ relou relou relou
$req1 = "SELECT DISTINCT dev_devis.id_perso FROM dev_devis;";
$query_perso_academie = " SELECT dev_perso.region, Count($req1.id_perso) AS Compte_id_perso
FROM dev_perso INNER JOIN $req1 ON dev_perso.id_perso = $req1.id_perso
GROUP BY dev_perso.region; ";
$result_perso_academie = odbc_exec($cnx, $query_perso_academie);
echo $query_perso_academie."<br />"; // permet de verifier si y'a une erreur de synthaxe ;)
Sous access tes 2 requetes marchent, mais pas en executant ce mini script :/ relou relou relou
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui elle marche ... sous access les 2 requetes marchent mais pas en les executant a partir d'un script php :/
Exact car la requête 2 n'arrive pas a executer la req1 dans la 2eme ;)
Voici l'erreur:
Erreur de syntaxe dans la clause FROM
Et la requête 2 générée:
SELECT dev_perso.region, Count(SELECT DISTINCT dev_devis.id_perso FROM dev_devis.id_perso) AS nbr_perso_academie FROM dev_perso INNER JOIN SELECT DISTINCT dev_devis.id_perso FROM dev_devis ON dev_perso.id_perso = SELECT DISTINCT dev_devis.id_perso FROM dev_devis.id_perso GROUP BY dev_perso.region;
Voici l'erreur:
Erreur de syntaxe dans la clause FROM
Et la requête 2 générée:
SELECT dev_perso.region, Count(SELECT DISTINCT dev_devis.id_perso FROM dev_devis.id_perso) AS nbr_perso_academie FROM dev_perso INNER JOIN SELECT DISTINCT dev_devis.id_perso FROM dev_devis ON dev_perso.id_perso = SELECT DISTINCT dev_devis.id_perso FROM dev_devis.id_perso GROUP BY dev_perso.region;