Aller au contenu

pbm requete avec table de jointure


Sujets conseillés

Posté

Bonjour,

j'ai peu honte de poser mon probleme sur ce forum mais bon il faut l'avouer, je ne suis pas doué pour la prog... merci d'avance pour vos réponses !

Voici mon souci:

j'ai trois tables:

tab_departement : | departement_id | numero | nom |

tab_region : | region_id | numero | nom |

tab_jointure_departement_region : | jointure_id | departement_id | region_id |

Je souhaiterai afficher les noms des départements qui appartiennent à telle ou telle région, par exemple la région numéro 2. Et ben j'y arrive pas !! ;)

Voilà où j'en suis:

<?

mysql_connect("localhost","root","");

mysql_select_db("applibdd");

$reponse = mysql_query("SELECT nom

FROM tab_departement

WHERE departement_id =

(SELECT departement_id

FROM tab_jointure_departement_region

WHERE region_id =2)");

while ($donnees = mysql_fetch_array($reponse))

{

echo $donnees ['nom'];

echo "<br />";

}

mysql_close();

?>

Je viens de me mettre à php/mysql et j'ai vraiment l'impression d'être une quiche,

aidez moi !!!!

Merci à toutes et à tous

Posté

A mon avis tab_jointure_departement_region est inutile. il suffit de rajouter un champ id_region a tab_departement

Avec ça, tu fais :

SELECT d.nom
FROM tab_departement d, tab_region r
WHERE d.id_region=r.region_id

Posté (modifié)

Ou avec un INNER JOIN

SELECT d.nom
FROM tab_departement d INNER JOIN tab_region r
ON d.id_region = r.region_id

Et la table tab_jointure_departement_region est effectivement inutile si on considère qu'un département ne peut se trouver que dans une seule région.

Modifié par petit-ourson
Posté

Vous avez bien raison merci bcp je vais rajouter un champ!

Comme je debute vous pourriez quand même me dire comment il aurait fallu faire, ça me servira surement par la suite, dans un cas où une table de jointure sera justifiée ;)

En tout cas merci a vous!

Posté

Salut,

Moi aussi je suis pas tres expert dans le domaine, mais je crois qu'une table de jointure ne sert qui quand il y a une liaison plusieurs a plusieurs genre :

un élements de Table1 pointe vers plusieurs elements de Table2 et un element de Tables2 pointe vers plusieurs elements de Table1

Mais dans ton cas la liaison un vers plusieurs n'est saur dans un seul sens.

Je sais pas si j'ai bien expliqué :blush:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...