Probleme Requete SQL

Fermé
bouteille67 Messages postés 14 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010 - 11 févr. 2010 à 14:33
zelos666 Messages postés 181 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 - 11 févr. 2010 à 16:38
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 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
11 févr. 2010 à 14: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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
11 févr. 2010 à 15:07
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 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
11 févr. 2010 à 15:19
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 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 12 février 2010
11 févr. 2010 à 15:34
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 mercredi 27 janvier 2010 Statut Membre Dernière intervention 20 juillet 2010 12
11 févr. 2010 à 16:38
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