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 28/07/2011, 15h03   #1
Membre habitué
 
Avatar de Milyshyn76
 
Inscription : novembre 2007
Messages : 363
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : novembre 2007
Messages : 363
Points : 101
Points : 101
Envoyer un message via MSN à Milyshyn76 Envoyer un message via Yahoo à Milyshyn76
Par défaut Problème de jointe

Bonjour à tous,

J'ai un problème d'affichage entre deux tables :

Une table Client (Client_Id, Client_Nom, Client_Prenom) et une table Livraison(Livraison_Id, Livraison_Client, Livraison_Date)

Le champs Livraison_Client est la clé étrangère attaché à la Table Client.Client_Id.

J'aimerais afficher la totalité des enregistrements de la table Client et la table de livraison (Saisie ou non)

Exemple :
Table Client :
1 Dupont Jean
2 Richard Michel
3 Lefevre John
4 Marchand Sophie

Table Livraison :
1 2 17/07/2011
2 3 18/07/2011

Résultat de la requête :

1 Dupont
2 Richard 17/07/2011
3 Lefevre 17/07/2011
4 Marchand

Dans le mode création de la requête, j'ai bien défini "Afficher tout les champs de la table Client et seulement ceux de la table Livraison ...." Mais ça ne marche pas.

j'espère avoir été claire !

Merci de votre aide
__________________
Mon TWITTER : Emy___==> Qui m'aime me suive sur TWITTER
Milyshyn76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2011, 15h12   #2
Membre actif
 
Inscription : décembre 2009
Messages : 204
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 204
Points : 186
Points : 186
Bonjour,

N'étant pas au point sur les requêtes préconçues, voilà la requête SQL qui devrait te donner le résultat que tu souhaite.

Code :
1
2
SELECT C.Client_Id,C.Client_Nom,L.Livraison_Date
FROM Client C LEFT JOIN Livraison L ON C.Client_Id = L.Livraison_Client
tarnx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 10h38   #3
Invité régulier
 
Inscription : janvier 2007
Messages : 19
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 19
Points : 5
Points : 5
D'après ses explications il avait bien mis un Left Join entre sa table Client et sa table Livraison et ça ne marche pas. Le problème semble identique au mien.
Lanig22 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h54   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonjour,

la requête de tarnx devrait bien retourner tous les clients même ceux qui n'ont pas de livraison.

Par contre, Milyshyn76 a peut-être rajouté un critère (clause WHERE) derrière et qui fausse le résultat, du style:

Code sql :
1
2
3
SELECT C.Client_Id,C.Client_Nom,L.Livraison_Date
FROM Client C LEFT JOIN Livraison L ON C.Client_Id = L.Livraison_Client
WHERE Year(L.Livraison_Date)=2011

Dans ce cas, les clients qui n'ont jamais eu de livraison sont quand même exclus malgré la jointure LEFT.
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 14h15   #5
Membre habitué
 
Avatar de Milyshyn76
 
Inscription : novembre 2007
Messages : 363
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : novembre 2007
Messages : 363
Points : 101
Points : 101
Envoyer un message via MSN à Milyshyn76 Envoyer un message via Yahoo à Milyshyn76
Celle de tarnx fonctionne à merveille ! merci beaucoup.
f-leb tu as raison. la clause WHERE fausse totalement mon résultat.

Merci beaucoup de votre aide à tous !
__________________
Mon TWITTER : Emy___==> Qui m'aime me suive sur TWITTER
Milyshyn76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h57.


 
 
 
 
Partenaires

Hébergement Web