Requête sur 2 tables

Fermé
coucoumardi Messages postés 3 Date d'inscription lundi 5 octobre 2015 Statut Membre Dernière intervention 5 octobre 2015 - 5 oct. 2015 à 10:44
coucoumardi Messages postés 3 Date d'inscription lundi 5 octobre 2015 Statut Membre Dernière intervention 5 octobre 2015 - 5 oct. 2015 à 13:35
J'ai une table clients et une table facturesClients
Je souhaiterai connaitre les clients qui répondent à un critère dans un champ de la table clients (par exemple CodePostal=75000) ou qui répondent à un critère dans un champ de la table facturesClients (par exemple LieuAchat= Lyon) sans avoir de doublons sur le champ idClient qui est présent dans les deux tables. Je n'y arrive pas j'ai toujours ces doublons dans les résultats de ma requête.
Si quelqu'un peut m'aider, d'avance merci

4 réponses

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
5 oct. 2015 à 11:32
Bonjour,

pouvez-vous, s'il vous plaît, mettre la composition des tables pour que je puisse vous aider.

:)
0
coucoumardi Messages postés 3 Date d'inscription lundi 5 octobre 2015 Statut Membre Dernière intervention 5 octobre 2015
5 oct. 2015 à 11:46
Pour simplifier,
La table clients comprend les champs : Id, Nom, Adresse, code postal, ville, tel, mail
La table facturesClients comprend les champs : NumFact, DateFact, IdCli, NomCli, AdresseCli, CodePostalCli, LieuAchat
0
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
5 oct. 2015 à 12:17
Re bonjour coucoumardi

je vous conseillerai d'utiliser dans vos tables ces colonnes

La table clients
id_client, nom, prenom, adresse, BP, ville, tel, mail, ...

La table facturesClients
NumFact, DateFact, Id_client, lieuAchat

Si vous mettez déjà id_client dans la table facturesClients, plus besoin de rajout les autres colonnes concernant le client.


Pour la requête SQL, pour savoir les clients qui résident à Lyon
SELECT clients.nom, clients.prenom, 
FROM clients
WHERE ville ='Lyon'


Maintenant si vous recherchez les clients qui résident à Lyon ou qui ont acheté quelque chose à Lyon

SELECT clients.nom, clients.prenom, 
FROM clients, acturesClients
WHERE clients.ville ='Lyon'
OR LieuAchat = 'Lyon';
0
coucoumardi Messages postés 3 Date d'inscription lundi 5 octobre 2015 Statut Membre Dernière intervention 5 octobre 2015
5 oct. 2015 à 13:35
Je me suis mal fait comprendre et je m'en excuse.
J'ai donc deux tables, une table clients et une table facturesClients, ces deux tables peuvent être liées par le champ Id de la table clients (clé primaire dans la table clients) au champ IdCli de la table facturesClients.

Ce que je cherche, c'est les clients qui ou bien habitent dans le 75000 (champ CodePostal de la table clients), ou bien ont acheté un jour à Lyon (champ lieuAchat de la table facturesClients).
Si j'utilise SELECTDISTINCT, FROM, WHERE, et OR , j'obtiens beaucoup de doublons car il y à des clients qui ont plusieurs factures pour des achats à Lyon ou des clients qui ont à la fois le codePostal 75000 et liueuAchat Lyon. c'est ces doublons que je voudrais éviter.

Merci de votre aide.
0