|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Philippe RONZEVALLEInscription : juin 2007 Messages : 82 ![]() |
Bonjour à tous,
J'ai un problème sur une requête SQL et je n'arrive pas à comprendre où est mon erreur. Je m'occupe d'un club de ski et j'ai une table adhérent avec 100 enregistrements. Au cours de la saison j'alimente une table cours avec des informations sur la date et la nature des cours pris par adhérent. Je désire récupérer les informations des 2 tables avec comme base la table adhérents sur laquelle viendrait se greffer les informations de la table cours. Le problème est que je n'obtiens avec la requête ci-dessous que les adhérent qui ont eu des cours alors que je cherche à avoir tous les adhérents (100 en l'occurence) et lorsqu'il y en a eu, les cours qu'ils ont suivis. Merci de votre aide. Bonne journée. Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
C'est à cause du filtre (le WHERE), regarde Jointure externe et condition de restriction. Il faut placer les filtres dans la condition de jointure (le ON)
|
|
|
00
|
|
|
#3 |
![]() ![]() |
Ce billet de mon blog t'expliquera pourquoi ta jointure externe est en fait une jointure interne et le moyen de remédier à ce problème !
Par ailleurs : 1) Évite la guerre des étoiles ! 2) Année et mois sont des entiers donc inutile de les mettre entre apostrophes, encore moins entre guillemets puisque tu as mis la chaîne SQL entre apostrophes. Il vaut mieux faire le contraire : mettre la chaîne SQL entre guillemets afin de pouvoir mettre, comme il se doit, les valeurs textuelles entre apostrophes dans la requête. 3) Tu gagnerais en clarté en utilisant des alias dans la requête au lieu de répéter partout le nom des tables. Et ça fait moins de texte à écrire !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Philippe RONZEVALLEInscription : juin 2007 Messages : 82 ![]() |
Merci pour vos réponses qui viennent de me permettre de résoudre ce problème précis et de m'améliorer.
Pour la guerre des étoiles, je vais devenir un fidèle combattant. Encore merci et bonne fin de journée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com