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?
    0
    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
      0
      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
        0
        1. Merci, cela fonctionne il va falloir que je bosse un peu sur les types jointures SQL.
          0