[MySQL] Jointure ...

FaRa31 Messages postés 56 Statut Membre -  
 Laurent -
Bonjour CCM!

J'ai un petit soucis avec une requête qui doit faire appel à 2 tables de ma base de données

sur ma table personnes j'ai comme attribut : l'id,le nom, le prenom, l'email, le matricule, l'identifiant_titre et enfin la qualité

l'attribut titre est en fait un attribut de liaison avec ma table titre qui contient l'id_titre, et libelle_titre

l'identifiant_titre contient un numéro qui correspond à une case de mon attribut libelle_titre.

Par exemple si c'est 0 c'est Docteur
si c'est 1 c'est infirmier
etc...

Je souhaiterais sélectionner le nom,le prenom,l'email,le matricule et enfin le titre pour pouvoir les afficher, j'ai juste un soucis conçernant ce dernier (le titre) ou je me mélange pas mal dans ma jointure.

En espérant avoir été explicite je vous remercie!

1 réponse

Jerome
 
Salut,

(Je pars du principe que c'est pour un site en PHP)
Je te propose une solution, mais il y en a sûrement de meilleure.

Il faut faire 2 requêtes.

La première pour récupérer les informations de la personnes (enf onction de son id je suppose) :
$req1="Select * from PERSONNES where id=id_personne;"

ensuite, tu recupère ces données dans une variable ($req1).
la variable correspondant à l'identifiant du titre est $req1->identifiant_titre.

Ensuite, dans ta 2e requête, tu vas chercher le libellé du titre :
$req2="Select * from TITRE where id_titre=$req1->identifiant_titre;"

Et la variable qui contient le libellé est donc : $req2->libelle_titre

PS : au niveau syntaxe, je ne me souviens plus bien, ca fait quelques mois que je n'ai pas fait de php... Mais dans l'idée, c'est ce que je ferais.
D'autres personnes ont surement une meilleure solution.
0
FaRa31 Messages postés 56 Statut Membre 1
 
c'est vrai que c'est pas bête du tout maintenant ouais faut voir niveau syntaxe pour le $req2->libelle_titre mais en tout cas merci de ta réponse ;)
0
Laurent > FaRa31 Messages postés 56 Statut Membre
 
Bonjour, ça ça doit marcher aussi :
Select * from PERSONNES INNER JOIN TITRES ON PERSONNES.id_titre=TITRES.identifiant_titre WHERE id=id_personne
0