|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2010 Messages : 42 ![]() |
Bonjour à tous,
j'essaie désespérément d'effectuer une jointure entre 2 tables afin que le résultat de ma requête me ramène l'ensemble des données, qu'elles trouvent une donnée ou pas. Ma requête doit me renseigner sur les spécificités de véhicules. certains de ces véhicules possèdent des options et d'autres non. Si je ne récupère pas les options des véhicules, la requête me ramène environ 40 000 lignes mais si je demande les options, je n'en ai plus que 23 000 ce qui signifie que ca ne ramene que les champs pour lesquels j'ai une équivalenece. J'ai testé le left join, right join, inner join, natural join... mais sans meilleur résultat. Pouvez vous venir en aide à un petit débutant ? Merci d'avance, Code :
|
||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Vous mélangez les types de jointure
Enlevez votre jointure "à l'ancienne" qui est la raison du filtrage des lignes que vous attenez : Avec votre jointure externe sur RL_ARTVENDPARC, les véhicules n'ayant pas d'options auront la colonne ID_PARC à NULL... et donc la condition p.PARC_ID = c.PARC_ID ne sera pas vérifiée. de même celle-ci non plus : Code SQL :
Essayez : Code SQL :
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
En fait, vous pourriez même remplacer votre LIKE par un =, et déplacer votre condition dans la jointure :
Code SQL :
|
||
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2010 Messages : 42 ![]() |
Merci beaucoup aieeeuuuuu, vous me venez en aide régulièrement en ces derniers temps et comme d'habitude c'est parfait.
passez une bonne journee |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
de rien
Bonne journée également |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com