LEFT JOIN sur trois tables
Résolu
Bonjour,
Ma formule ci-dessous fonctionne bien pour deux tables. je souhaite pouvoir y adjoindre une 3e pour la lecture des niveaux
La table "mr_manivclts" contient uniquement les ID des clients, leurs choix matière(matiere_id) et niveau(niveau_i).
La requête me permet de nommer les ID et les afficher. Alors comment adjoindre la table mr_niveaux(et niveau_id) dans la même requête ?
Merci de votre aide.
Ma formule ci-dessous fonctionne bien pour deux tables. je souhaite pouvoir y adjoindre une 3e pour la lecture des niveaux
La table "mr_manivclts" contient uniquement les ID des clients, leurs choix matière(matiere_id) et niveau(niveau_i).
La requête me permet de nommer les ID et les afficher. Alors comment adjoindre la table mr_niveaux(et niveau_id) dans la même requête ?
$sql = "SELECT * FROM mr_matnivclts LEFT JOIN mr_matieres ON mr_matieres.matiere_id = mr_matnivclts.matnivclt_id WHERE client_id = '$client_id'";
Merci de votre aide.
Configuration: Windows / Firefox 73.0
6 réponses
-
Voilà j'ai trouvé !
$sql = "SELECT * FROM mr_matnivclts LEFT JOIN mr_matieres ON mr_matieres.matiere_id = mr_matnivclts.matiere_id LEFT JOIN mr_niveaux ON mr_niveaux.niveau_id = mr_matnivclts.niveau_id WHERE client_id = '$client_id'"; //exécution de la requête: $requete1 = $bdd->query($sql); //affichage des données: while( $result = mysqli_fetch_object($requete1) ) { ?> <?php echo( "<div align=\"center\">".$result->matiere_id."------".$result->matiere."------".$result->niveau." </div>\n" ) ;
Et cela affiche en fonction du client :
2------Français------Primaire
1------Mathématiques------Primaire
5------Anglais------Primaire