Liaison de deux tables (cas particulier)
doudou225
-
doudou225 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
doudou225 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Liaison de deux tables (cas particulier)
- Meilleur site de vente entre particulier - Guide
- Cas ram - Guide
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
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
T1(client)
- Matricule
-Nom
-Prenom
-Profession
T2Ouvrage
-Matricule_client
-Nom_client
-Prenom_client
-Nom_ouvrage
- Date_apparution_ouvrage
-Maison_edition_ouvrage
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 ^^.
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 ^^.
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
ç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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question