Probleme Requete SQL

bouteille67 Messages postés 14 Statut Membre -  
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai de petits soucis quand a la consultation de ma bdd je n'arrive pas a faire un select de tout les client ainsi que le numéro de facture se rapportant a ses client. Lorsqu'un client ne possède pas de facture celui-ci n'est pas sélectionner.

voici ma requete :

SELECT C.numCli, F.n_Fact, C.nomCli, C.PrenomCli, C.Adresse, C.CP, C.Ville, C.telephone, C.portable, C.mail FROM client AS C, facture AS F
WHERE C.numCli = F.numCli
ORDER BY 3

Je ne voix pas pourquoi cette requette n'affiche que les clients possédant une facture...
Si quelqu'un à un idée, sa m'aiderais beaucoup !
Merci

5 réponses

william7007 Messages postés 344 Statut Membre 46
 
slt
c'est logique car en français ta requete signifie

afficher tous les numCli, nomCli, prenomCli, adresse, cp, ville, telephone, portable, email des clients qui ont une facture par ordre du nomCli.

ben mon français est un peu tordu mais c'est un truc du genre.
la jointure au niveau de la clause WHERE (C.numCli = F.numCli) : signifie simplement de récuperer les clients qui ont un numero qui se trouve dans la table Facture.

cdlt.
0
bouteille67 Messages postés 14 Statut Membre
 
Merci pour cette précision, maintenant est-ce qu'il y a moyen d'obtenir la liste de tout les clients, qu'ils ai une facture ou pas, en ne faisaint qu'une seule requete, vu que j'exploite cette requête avec Java il me serait tres utile d'avoir tout dans le même recordset.

Merci d'avance !
0
william7007 Messages postés 344 Statut Membre 46
 
ben je pense que si
si tu fais juste un simple SELECT dans la table client, je crois que tu auras le résultat escompté (liste des clients ayant une facture ou pas).
cdlt.
0
bouteille67 Messages postés 14 Statut Membre
 
Non non, ce serait trop simple, sans la jointure de la table il va sortir n'importe quoi, tant pis je continuerais mon programme uniquement sur les données qui sortent de la table client.

Merci quand même !
0

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

Posez votre question
zelos666 Messages postés 181 Date d'inscription   Statut Membre Dernière intervention   12
 
Tu peut toujours essayer des left join ;

SELECT C.numCli, F.n_Fact, C.nomCli, C.PrenomCli, C.Adresse, C.CP, C.Ville, C.telephone, C.portable, C.mail
FROM client c LEFT JOIN facture f on c.numCli = f.numCli
ORDER BY 3;
0