Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
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 21/07/2011, 11h51   #1
Candidat au titre de Membre du Club
 
Étudiant
Inscription : août 2009
Messages : 44
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2009
Messages : 44
Points : 11
Points : 11
Par défaut filtrer une Jointure

Bonjour,

j'ai une table voitures contenant les champs suivants:
ID_VOITURE - ID_MARQUE - COULEUR,

et une autre table marque qui contient:
ID_MARQUE_VOITURE - PAYS_CONSTRUCTEUR

j'essaie de faire une requête qui me permettrais de récupérer toutes les voitures construite en Allemagne par exemple

j'ai fait:

Code :
"Select ID_VOITURE from voiture left join marque on ID_MARQUE_VOITURE = ID_MARQUE AND PAYS_CONSTRUCTEUR = 'Allemagne'"
ça me retourne toutes les voitures plusieurs fois (jointure pour chaque voiture), vous avez une idée SVP

j'ai essayer ensuite :

Code :
"Select ID_VOITURE,  PAYS_CONSTRUCTEUR from voiture left join marque on ID_MARQUE_VOITURE = ID_MARQUE  WHERE PAYS_CONSTRUCTEUR = 'Allemagne'"


Résultat:
Citation:
1054 unknown column PAYS_CONSTRUCTEUR in 'where clause'
merci d'avance
sim0m0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 12h18   #2
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Pourquoi faire une jointure externe dans ce cas la ??

Utilisez une jointure interne genre:

Code :
1
2
3
4
5
6
SELECT 
    v.ID_VOITURE 
FROM 
    voiture v INNER JOIN marque m ON (m.ID_MARQUE_VOITURE = v.ID_MARQUE)
WHERE 
    m.PAYS_CONSTRUCTEUR = 'Allemagne'
__________________
Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 13h08   #3
Candidat au titre de Membre du Club
 
Étudiant
Inscription : août 2009
Messages : 44
Détails du profil
Informations personnelles :
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2009
Messages : 44
Points : 11
Points : 11
j'ai fait le inner join et ça a marcher,

Merci beaucoup!

je pense que je devrait revoir mes cours de jointure
sim0m0 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 00h36.


 
 
 
 
Partenaires

Hébergement Web