|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Date d'inscription: février 2007
Localisation: Lyon
Messages: 82
|
Bonjour,
Je souhaiterai récupérer des informations sur deux tables distinctes ayant une valeur en commun. J'ai essayé deux requêtes distinctes : Tentative 1 : Code :
$pre = "SELECT pro_etu_num, pro_etu_nom, pro_etu_prenom, pro_not_num, pro_not_j1, pro_not_j2, pro_not_j3, pro_not_j4, pro_not_j5, pro_not_not1, pro_not_not2, pro_not_not3 FROM prologue_etudiants, prologue_notes_abs WHERE prologue_etudiants.pro_etu_num = prologue_notes_abs.pro_not_num AND pro_etu_gp_tice = '".$this -> grp."' ORDER BY pro_etu_nom ASC " ; Code :
$pre = "SELECT * FROM prologue_etudiants JOIN prologue_notes_abs ON prologue_etudiants.pro_etu_num = prologue_notes_abs.pro_not_num WHERE pro_etu_gp_tice = '".$this -> grp."' ORDER BY pro_etu_nom ASC " ; Alors que je souhaiterai avoir les données de la table "prologue_etudiants" quoi qu'il arrive et récupérer celles de "prologue_notes_abs" si elles existent. Suis-je obligé de faire ma première requête et de faire une itération sur les résultats pour récupérer les valeurs de la seconde table ? J'utilise PDO donc je peux faire des requêtes préparées, pour accélerer le traitement, mais ce serait tellement bien d'avoir ce que je veux en une seule requête. Merci pour votre aide... |
|
|
|
|
|
#2 |
|
Expert Confirmé
![]() Date d'inscription: mai 2002
Localisation: Auvergne
Messages: 1 567
|
Bonjour,
Si tu veux tous les éléments de ta première table en jointure, il ne faut pas utiliser une jointure normale (ou interne) JOIN (INNER JOIN) mais une jointure externe (OUTER JOIN). Comme c'est de la première table (ou table de gauche à la jointure) que tu veux tous les éléments alors c'est LEFT OUTER JOIN. A mettre à la place de ton JOIN dans la requête qui a l'air correcte PS: j'aurais utilisé des alias vues les longeurs de tes tables ...
__________________
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran) |
|
|
|
|
|
#3 |
|
Membre du Club
![]() Date d'inscription: février 2007
Localisation: Lyon
Messages: 82
|
Effectivement, cela marche impeccable !!
Je connaissais pas ce LEFT OUTER JOIN... bien pratique en tout cas, il faudrait que je me penche sur tout ça ! En tout cas merci beaucoup ! |
|
|
|
|
|
![]() |
||
Combinaison de requêtes
|
||
| Outils de la discussion | |
|
|