Sos Requet Jointure entre 2 tables
moitropdebutant
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
MoiTropDebutant -
MoiTropDebutant -
Bonjour,
Je suis AutoDidact et je me lance pour la 1ere fois ds 1 forum d'AIde : Merci d'Avance;
Voila mon problème:
Permet à un internaute de commander des Articles à paritr d'une liste de Magasins que j'ai ds ma Bdd,
Pour cela il doit savoir si dans sa ville il y a des magasins qui livrent puis afficher la liste des magasins qui livrent ds sa ville
J'ai : 2 tables
Villes (id_ville, nom_ville) et Magasins (id_mag, nom_mag)
Je pense qu'il faut rajouter un champ ds Table Magasin ( pour lien -jointure)
Mais je me suis mis à potasser Merise (3 à 4 mois d'apprentissage en Autodidact et c'était Dur Dur
pour mon MCD ect et je suis complétement Bloqué ds une Relation entre deux tables car la relation est de 1,n des deux cotés
A SAVOIR QUE :
- une Villes à (0,n ) Magasins qui livrent
- un Magasin livrent (1,n) villes
Relation entre les cardinalités de (o,n) et (1,n)
Requet d'après moi : SELECT nom_mag From Magasins, villes INNER JOIN id_mag = id_ville
C'es tout ; et là malgré les tonnes de cours , je n'a ipas trouvé de réponse ou simplement je dois mal chercher !!
Merci- Merci Encore à Tous
"Imaginer que c'est Grace aux Forums et aux EXCELLENT Cours de Site commme Celui-ci que j'ai vraiment trouvé ma Passion "
----- J' attend avec Impatience une petite Réponse-Solution de votre PART ou un lien ou une Idée
qui puisse me faire Avancer dans mon petit progres !
Je suis AutoDidact et je me lance pour la 1ere fois ds 1 forum d'AIde : Merci d'Avance;
Voila mon problème:
Permet à un internaute de commander des Articles à paritr d'une liste de Magasins que j'ai ds ma Bdd,
Pour cela il doit savoir si dans sa ville il y a des magasins qui livrent puis afficher la liste des magasins qui livrent ds sa ville
J'ai : 2 tables
Villes (id_ville, nom_ville) et Magasins (id_mag, nom_mag)
Je pense qu'il faut rajouter un champ ds Table Magasin ( pour lien -jointure)
Mais je me suis mis à potasser Merise (3 à 4 mois d'apprentissage en Autodidact et c'était Dur Dur
pour mon MCD ect et je suis complétement Bloqué ds une Relation entre deux tables car la relation est de 1,n des deux cotés
A SAVOIR QUE :
- une Villes à (0,n ) Magasins qui livrent
- un Magasin livrent (1,n) villes
Relation entre les cardinalités de (o,n) et (1,n)
Requet d'après moi : SELECT nom_mag From Magasins, villes INNER JOIN id_mag = id_ville
C'es tout ; et là malgré les tonnes de cours , je n'a ipas trouvé de réponse ou simplement je dois mal chercher !!
Merci- Merci Encore à Tous
"Imaginer que c'est Grace aux Forums et aux EXCELLENT Cours de Site commme Celui-ci que j'ai vraiment trouvé ma Passion "
----- J' attend avec Impatience une petite Réponse-Solution de votre PART ou un lien ou une Idée
qui puisse me faire Avancer dans mon petit progres !
A voir également:
- Sos Requet Jointure entre 2 tables
- Supercopier 2 - Télécharger - Gestion de fichiers
- Tables des matières word - Guide
- 2 ecran pc - Guide
- Gta 6 trailer 2 - Guide
- Faire 2 colonnes sur word - Guide
3 réponses
à mon sens, il faut établir des tables intermédiaires, sachant que le principal probleme semble etre que tu te mélange les pinceaux entre le fait qu'un magazin est dans une ville (locallisation géographique) et qu'il couvre plusieurs villes (couverture)
la localisation géographique est à associer au magasin (à moins que ca soit un magasin qui ait des enseignes dans plusieurs villes, mais dans ce cas, il faudrait peut-etre prévoir une table enseigne) donc un magasin (ou une enseigne) n'a qu'une seule localisation, mais peut avoir plusieurs villes à couvrir, ce qui peut se gérer par une table couverture
je t'ai pas trop embrouillé?
la localisation géographique est à associer au magasin (à moins que ca soit un magasin qui ait des enseignes dans plusieurs villes, mais dans ce cas, il faudrait peut-etre prévoir une table enseigne) donc un magasin (ou une enseigne) n'a qu'une seule localisation, mais peut avoir plusieurs villes à couvrir, ce qui peut se gérer par une table couverture
je t'ai pas trop embrouillé?
Je pense qu'il te faut une 3ème table que tu peux appeler livraison, livrer ou ville_magasin ( pour montrer qu'elle fait le lien ) dans laquelle tu auras :
- id_mag
- id_ville
la requête pour avoir tous les magasins qui livrent une ville deviendra :
Code que tu devrais normalement avoir quand tu affiches la liste des villes.
Par contre, il faudra remplir la table pour savoir quelles villes sont livrées par tel ou tel magasin.
Si ce n'est pas ce que tu veux, explique en détail, et je te donnerai une structure adaptée à ton problème.
- id_mag
- id_ville
la requête pour avoir tous les magasins qui livrent une ville deviendra :
SELECT * FROM MAGASIN M INNER JOIN VILLE_MAGASIN VM ON VM.id_mag = M.id_mag WHERE id_ville = code_de_la_ville_choisi
Code que tu devrais normalement avoir quand tu affiches la liste des villes.
Par contre, il faudra remplir la table pour savoir quelles villes sont livrées par tel ou tel magasin.
Si ce n'est pas ce que tu veux, explique en détail, et je te donnerai une structure adaptée à ton problème.
Salut,
Alors en fait tu peux pas faire directement "SELECT nom_mag From Magasins, villes INNER JOIN id_mag = id_ville".
Lorsque tu passes du MCD au MLD et que tu as 0,n/1,n , 0,n/0,n ou 1,n/1,n, en gros quand les deux se terminent par n, tu dois faire une table 'intermédiaire' en quelque sorte qui a pour clés primaires ET étrangères les deux clés des tables liés (id_ville et id_mag). Tu lui donne le nom que tu veux.
Exemple : Villes (id_ville, nom_ville),
Magasins (id_mag, nom_mag) et
Villes_Magasins (#id_ville, #id_mag). le '#' signifie que c'est une clé étrangère.
Tu fais donc DEUX liaisons. Une entre Villes et Villes_Magasins, et une autre entre Villes_Magasins et Magasins.
J'espère que c'est un peu comprehensible, si tu as encore des pb n'hesite pas. Bon courrage pour la suite.
Alors en fait tu peux pas faire directement "SELECT nom_mag From Magasins, villes INNER JOIN id_mag = id_ville".
Lorsque tu passes du MCD au MLD et que tu as 0,n/1,n , 0,n/0,n ou 1,n/1,n, en gros quand les deux se terminent par n, tu dois faire une table 'intermédiaire' en quelque sorte qui a pour clés primaires ET étrangères les deux clés des tables liés (id_ville et id_mag). Tu lui donne le nom que tu veux.
Exemple : Villes (id_ville, nom_ville),
Magasins (id_mag, nom_mag) et
Villes_Magasins (#id_ville, #id_mag). le '#' signifie que c'est une clé étrangère.
Tu fais donc DEUX liaisons. Une entre Villes et Villes_Magasins, et une autre entre Villes_Magasins et Magasins.
J'espère que c'est un peu comprehensible, si tu as encore des pb n'hesite pas. Bon courrage pour la suite.
Je viens d'Ouvrir ma Boite Mail et j'y trouve 3 réponse à ma question qui me trotte depuis 6 mois , touT cela pour Dire Franchement Un Grand Merci pour ta Réponse aussi Rapide et j'y bosse !
Je te souhaite Une Excelente Soirée à toi et aux Tiens !
A+