Jointure sur mysql

Résolu
Bonjour,

j'ai un petit soucis:

j'ai 3 table de reference:
categorie (cat_id)
type (type_id)
status (status_id)

et 2 table d'enregistrement:
permission (perm_id, cat_id, type_id, status_id)
dossier (dossier_id, type_id, status_id)

je voudrais faire une requète qui me sorte tous les dossiers_id lié à un status avec la colonne
d'info des permission (meme si le status n'est lié a rien)

je m'en sors pas avec les left join

à l'aide
Configuration: Windows XP
Firefox 3.0

4 réponses

  1. SELECT dossier_id, perm_id
    FROM dossier, permission, statut
    WHERE dossier.statut_id = statut.statut_id AND statut.statut_id = permission.statut_id
    AND statut.statut_id LIKE {<= ici tu met ta restriction}

    j'espère que c'été ça que tu cherchais :s
    1. euh en fait je relis mon post et je me suis mal exprimé
      je veux un tableau avec

      col1 liste des status dans status (pas vraiment nécéssaire, mais faut que je recupere les clean name)
      col2 la liste des status dans dossiers (avec null si pas présent)
      col3 liste des status dans permission (avec null si pas présent)

      col1 col2 col3
      1 1 null
      2 null 2
      3 null null

      (50 entree) (100'000) (200'000)

      Voilà

      Merci pour le coup de main
      1. C'est un tableau en php ? Parce que je sais pas faire les requetes qui donne un tableau a la fin ? je me doute que c'est en php ^^ ?
        1. oui oui c'est du php
        2. @l_epaismais j'ai pas besoin d'un tableau formater je veux jsute la requete qui me retourne les données ligne par ligne et je m'arrange.

          merci
      2. col1 liste des status dans status (pas vraiment nécéssaire, mais faut que je recupere les clean name)
        col2 la liste des status dans dossiers (avec null si pas présent)
        col3 liste des status dans permission (avec null si pas présent)

        CE QUI EST MIS EN CROCHET => Pas obligatoire, j'ai pas frocément compris ce que tu veux ;)

        col 1 => SELECT statut_id FROM statut;
        col 2 => SELECT statut_id FROM dossier[, statut WHERE statut.statut_id = dossier.statut_id];
        col 3 => SELECT statut_id FROM permission[, statut WHERE statut.statut_id = permission.statut_id];

        J'espère que ça va marcher pour ce que tu veux =)
        1. Bon c'est pas très optimiser comme code mysql, mais j'ai finalement fais un truc

          J'ai resolu en faisant 2 requete separé tous les status qui sont dans les dossier (le probleme c'est qu'il ya enormement de dossier et que je dois parcourir la liste entiere a chaque fois),
          tous les status qui sont dans les permission

          en php avec un while sur ceux qui existe dans les dossier j'ai tester un array_key_exist sur le tableau des valeur permise. Si elle n'existe pas

          => erreur l'admin doit gerer

          Merci pour l'aide

          @plus