Jointure sur mysql

Résolu/Fermé
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 - 17 juil. 2008 à 15:57
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 - 18 juil. 2008 à 17:21
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

4 réponses

Koozag Messages postés 391 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 31 janvier 2013 50
17 juil. 2008 à 16:02
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
0
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
17 juil. 2008 à 16:17
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
0
Koozag Messages postés 391 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 31 janvier 2013 50
17 juil. 2008 à 16:19
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 ^^ ?
0
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
17 juil. 2008 à 16:39
oui oui c'est du php
0
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31 > l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010
17 juil. 2008 à 16:41
mais 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
0
Koozag Messages postés 391 Date d'inscription jeudi 3 juillet 2008 Statut Membre Dernière intervention 31 janvier 2013 50
17 juil. 2008 à 16:52
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 =)
0
l_epais Messages postés 140 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 12 août 2010 31
18 juil. 2008 à 17:21
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
0