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. 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
  2. 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
  3. 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. 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