Jointure

Résolu
Bonjour,

Je travail sous php/MySQL j'ai trois table
Table re (id 1, id 2 , id 3, id 4, id 5)
Table r (id4, champ r)
Table d (id5, champ d)

Je voudrais obtenir
id 1 | id 2 | id 3 | id 4 | champ r | id 5 | champ d
* | * | * | * | * | * | * |

Je voudrais que tout les lignes champs r soit présent dans le résultat de m'a requête, même si il n'y a pas de correspondance avec id 1, id 2 , id 3 et id 5.
J'ai essayé avec LEFT OUTER JOIN mais je n'arrive pas a ce que je veux .
Merci de m'aider

4 réponses

  1. Bonjour,
    SELECT re.id1, re.id2, re.id3, r.id4, r.r, re.id5, d.d
    FROM r
    LEFT JOIN re ON r.id4 = re.id4
    LEFT JOIN d ON re.id5 = d.id5

    Est-ce que cette requête ne fonctionnerait pas par hasard?
    1. Effectivement, si on fait que ca marche. Maintement que j'ai compris ou ce site le problème car dans ma requête j'ai ajouter un where id1=3 ans id2=4 voilà pourquoi cela ne marcher pas donc autre problème je voudrai que les champs NULL apparaisse

      J'ai essayé la requête suivant mais elle n'a pas fonctionner :

      SELECT re.id1, re.id2, re.id3, r.id4, r.r, re.id5, d.d
      FROM r
      LEFT JOIN re ON r.id4 = re.id4
      LEFT JOIN d ON re.id5 = d.id5
      WHERE re.id1 =6 OR re.id1 = 'NULL'
      AND re.id2 =6 OR re.id2 = 'NULL'

      Merci
      1. Hum.

        peut-être que cette requête résoudra le problème:
        SELECT re.id1, re.id2, re.id3, r.id4, r.r, re.id5, d.d
        FROM r
        LEFT JOIN re 
            ON (r.id4 = re.id4 AND re.id1 =6 AND re.id2 =6)
        LEFT JOIN d ON re.id5 = d.id5
        1. Merci, cela fonctionne il va falloir que je bosse un peu sur les types jointures SQL.