Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2012, 12h50   #1
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2012
Messages : 11
Points : 3
Points : 3
Par défaut Ne pas avoir de doublons dans une requête avec beaucoup de OU

Bonjour,

Titre peu explicite, mais j'ai du mal à l'exprimer.
J'ai une table d'actions, et une table de publics ciblés par cette action. Comme c'est du n;m (une action peut avoir plusieurs type de public, et chaque public peut être ciblé par plusieurs actions), j'ai une table de jointure.

Je veux rechercher toutes les actions ciblant le public a OU le public b OU le public C. Mais dans ce cas, une action ciblant au moins 2 publics apparaitra autant de fois.
Or comme je veux compter le nombre d'actions qui ciblent indifféremment n'importe lequel de ces publics, je ne veux pas de double compte.

Et là, je bloque, impossible de savoir comment faire avec ma requête (sachant que je manie pas voire peu le SQL)
La solution que je vois serait de faire une première requête avec tous les doublons (critères public a OU b ou C), puis de faire une requête sur cette requête uniquement sur le champ numéro de l'action avec un regroupement et un compte. Du coup, j'ai bien le nombre d'actions, mais c'est un peu fastidieux. Existe-t-il un moyen de faire plus simple ?

Merci
GroFlo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 14h11   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck


le mot clé utilisé pour n'obtenir qu'une seule fois un enregistrement qui pourrait apparaitre plsuieurs fois est DISTINCT

Exemple dans une table de personnes (Prenom,Nom), si on veut récupérer la liste des prénoms:
Code SQL :
SELECT DISTINCT Prenom FROM MaTable
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 15h52   #3
Invité de passage
 
Homme
Inscription : janvier 2012
Messages : 11
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : janvier 2012
Messages : 11
Points : 3
Points : 3
Merci pour cette réponse, mais j'avoue ne pas très bien comprendre.

En fait, dans ma requête, j'arrive avec une liste dans laquelle je peux avoir un doublon, du style :
Action1 Partenaire1
Action1 Partenaire1

Puisque certaines caractéristiques de partenaire1 non prises en compte dans ma requête vont différer entre les deux lignes.
Du coup, par un regroupement, je n'ai plus que
Action1 Partenaire1

Sauf que si je demande de compter ma colonne Action, il va me compter 2 Action1 pour Partenaire1. Comment lui faire compter le regroupement directement, à part la solution évoquée dans mon premier post ? (concrètement, s'il faut forcément passer par du SQL, peux-tu me donner le code complet pour ce cas d'exemple ?)
GroFlo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h04.


 
 
 
 
Partenaires

Hébergement Web