Problème de jointure

Bonjour,



Je tente une jointure de table entre 3 table. alors que dans d'autres projets tout se passait bien, ici, impossible d'arriver à quoi que ce soit.

J'espère que votre oeil externe y décèlera quelque chose que j'aurais manqué.

liste des tables :

table 1 (nom_cli
id_nom int 3
nom varchar 50

table 2 (tel_cli)
id_tel int 3
tel varchar 10

table 3 (liaison)
id int 3
id_nom int 3
id_tel int 3

requête :
SELECT n.nom,t.tel FROM 
nom_cli as n left join liaison as l
 on n.id_nom=l.idnom
right join tel_cli as t
on l.id_tel=t.id_tel


Je lance ma bouteille à la mer en espérant une réponse !!!!

EDIT : Ajout des balises de code

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,

    Attention à bien respecter le nom de tes champs ... idnom n'est pas id_nom....

    Sinon .. essayes ça :
    SELECT *
    FROM liaison L
    LEFT JOIN nom_cli N ON N.id_nom = L.id_nom
    LEFT JOIN tel_cli T ON T.id_tel = L.id_tel
    


    NB: Penses à l'avenir de préciser sur quel SGBD tu travailles ... mysql .. sqlserveur, ORacle ........

    NB²: Pense également à utiliser la coloration syntaxique pour pouster du code sur le forum.

    1. Merci pour ta réponse.

      1. le résulta est identique : erreur "sans détail"
      2. Je travail avec mysql via code php
      3. désolé pour la couleur mais étant aveugle, je ne gère pas...

      Cordialement.
    2. Modérateur
      @exatropicPeux-tu tester ta requête DIRECTEMENT dans ta BDD via phpmyadmin par exemple ?
  2. Cà fonctionne dans phpmyadmin via page sql.
    1. Modérateur
      Donc si ça ne marche pas dans ton PHP .. c'est que le souci vient de ton code php et non de ta requête.....
      Montre nous ton code PHP
  3. <?php

    include "sql_connect.php";

    --- contenu :

    <?php

    $link= mysqli_connect('xxxx', 'xxxx', 'xxxx', 'xxxx'))

    ?>

    ---- fin du fichier

    $res = mysqli_connect($link,

    "SELECT n.nom,t.tel FROM
    nom_cli as n left join liaison as l
    on n.id_nom=l.idnom
    right join tel_cli as t
    on l.id_tel=t.id_tel";

    while ($row = mysqli_fetch_assoc($res)){
    echo $row['nom'].' '.$row['tel'].'<br />';
    } // fin du while
    ?>
    1. Modérateur
      Le code de ta requête. .. n'est pas le même que celle que je t'ai donne...