Liaison de deux tables (cas particulier)

Fermé
doudou225 - 3 mai 2013 à 12:12
doudou225 Messages postés 14 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 3 mai 2013 - 3 mai 2013 à 17:54
Bonjour,
je viens en tant que novice dans le domaine des BD.
Mon scénario:

J ai une base mysql que j ai installé avec wampserver sous windows 7.
J y ai créé ma BD=mysql-ds comportant deux tables pour faire simple.

T1(client) T2Ouvrage
- Matricule -Matricule_client
-Nom -Nom_client
-Prenom -Prenom_client
-Profession -Nom_ouvrage
- Date_apparution_ouvrage
-Maison_edition_ouvrage


Les nregistrements dans ces 2 tables se font via 2 formulaires differents.
La recherche d informations se fait via une seule page html sensée indique les informations sur un client (identification) ainsi que les informations sur ses ouvrages s'il y en a, car il se peut qu un client n'a aucun ouvrage a son actif.

Comment lier ces deux tables la en SQL ?

Merci d avance pour votre aide
A voir également:

5 réponses

Les tables en plus clairs


T1(client)
- Matricule
-Nom
-Prenom
-Profession


T2Ouvrage
-Matricule_client
-Nom_client
-Prenom_client
-Nom_ouvrage
- Date_apparution_ouvrage
-Maison_edition_ouvrage
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
3 mai 2013 à 17:35
Si j'ai bien compris dans ta table T2, les atributs se finissant par _client ? sont toujours ou très souvent répertorié aussi dans la table T1?

Si tu veux par exemple récupérer la profession d'un client qui est sur un "ouvrage" nommé 'xxxx' il faut utiliser une jointure avec les mots clefs join et on, on joint les table avec join sur une condition spécifique donnée avec on. On peut ensuite continuer comme une requête normale avec un where

Exemple :
select profession from t1 join t2 on matricule_client=matricule where nom_ouvrage='xxxx'

Avec ça par exemple tu récuperas la profession du client qui est associé à l'ouvrage qui porte le nom xxxx.

C'est ce qui s'appelle un jointure je te laisse chercher pour le reste avec ce mot clef ^^.
0
doudou225 Messages postés 14 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 3 mai 2013
3 mai 2013 à 17:48
Merci pour ta reponse prompte.
ça me met surement sur la voie.
je cherche, mais je peux deja dire que mon probleme est la gestion des requetes lorsqu ' elles ne trouveront pas de resultats.

Exple: "on matricule_client=matricule" n est pas verifié, qu est ce qui arrivera?

Bon bah, comme tu l as dit je continuerai de chercher.
Merci encore pignou0
0
pignou0 Messages postés 51 Date d'inscription samedi 2 mars 2013 Statut Membre Dernière intervention 28 mai 2013 2
Modifié par pignou0 le 3/05/2013 à 17:55
Si ton matricule_client=matricule on ne te renvoit aucun résultat tout simplement

Après tu peux forcer les jointures avec des mots clefs left join ou right join qui renverront les résultats de la table de gauche ou de droite mais pas de l'autre table même si le on n'est pas validé. A utiliser avec précautions toute facon les mécanismes de jointures sont très bien expliqués si vraiment tu as besoin de ces options
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
doudou225 Messages postés 14 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 3 mai 2013
3 mai 2013 à 17:54
Merci encore, de plus en plus clair !
0