Fork me on GitHub






Requete SQL: Inner Join
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
Bonjour,
J'apprend tout ranquillement la création de BDD et je bute sur un point, la liaison de table. J'ai beau lire et relire toute sorte de sujet là dessus je comprend pas.
j'ai 3 tables dans ma BDD (A, B, C). Je voudrais lier la table B & C à un champ nommé X contenu dans la table A. Quel la requete exact avec inner join ?
J'ai essayé ceci et ça n'a pas l'air de fonctionner:
SELECT table_Btable_C
FROM   Table_A INNER JOIN X

Posté le : 16/04/2010 08:53

Open in new window
http://www.amenosyla.fr
I'm Bad, Mad, Totaly Cr@zy !!!
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Régulier
Inscrit: 24/03/2010 08:52
De Lille
Messages: 109
J'ai pas tout compris à ta requête (ce que tu voulais faire), mais as-tu jeté u oeil ici ?


PS : je réfléchis mieux avec un exemple concret

Posté le : 16/04/2010 09:07
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
oui j'ai lu et relu cette page :(
je vais essayé d'être plus clair. J'ai créé une base qui comprend 3 table.
-table_a
-table_b
-table_c

la table_a contient 3 champs: nom, prénom, sexe
la table_b contient 2 champs: adresse, pays
la table_c contient 2 champs: telephone, email

je voudrais lier l'intégralité de la table_b et la table_c au champ nommé "nom" dans la table_a

j'ai donc essayé
SELECT table_btable_c
FROM   table_a INNER JOIN nom

Posté le : 16/04/2010 09:14

Open in new window
http://www.amenosyla.fr
I'm Bad, Mad, Totaly Cr@zy !!!
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Si votre personnes en table_a n'ont une seule adresse, émail ou téléphone, alors c'est inutile d'avoir trois tables. Il faut simplement une table avec tous les champs dedans. Pas des problèmes avec la requête non plus.

Si il faut joindre des tables, il faut toujours avoir une champs en commun (foreign key) dans tous les tables. Pour la vitesse il est avisée que ce champs est indexée dans les tables.
Alors il faut que table_b et table_c contient aussi le champs nom. Autre possibilité est que table_a a une champs avec code numérique auto-incrément (id_personne) comme identification et table_b et c ont aussi ce champs.

Alors la requête peut être:
SELECT FROM table_a a 
LEFT JOIN table_b b on a
.nom b.nom
LEFT JOIN table_c c on a
.nom c.nom
ORDER by a
.nom


ou
LEFT JOIN table_b b on a.id_personne b.id_personne
LEFT JOIN table_c c on a
.id_personne c.id_personne

Posté le : 16/04/2010 10:01

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
donc si je comprend bien concrétement je dois mettre
SELECT FROM member member
LEFT JOIN propiétaire proprietaire on member
.id_personne proprietaire.id_personne 
LEFT JOIN constructeur constructeur on proprietaire
.id_personne constructeur.id_personne

Posté le : 16/04/2010 10:14

Open in new window
http://www.amenosyla.fr
I'm Bad, Mad, Totaly Cr@zy !!!
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Oui. On peut toujours essayer les requêtes par phpMyAdmin.
Il faut voir quand on utilise des accents dans les noms (propiétaire), qu'il faut des quotes autours des noms.

Posté le : 16/04/2010 12:07

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
ok je vais tenter cette requete voir ce que ça donne. Et j'ai veiller à ne pas mettre d'accent dans les tables, je les ai mis ici par habitude.

Bon je viens de faire la requete et ça m'a mis une petite flèche verte avec écrit à coté
Citation :
MySQL n'a retourné aucun enregistrement. ( Traitement en 0.0007 sec. )
j'en conclu que les tables sont liés par le champ ID_..... ?

Posté le : 16/04/2010 12:15

Open in new window
http://www.amenosyla.fr
I'm Bad, Mad, Totaly Cr@zy !!!
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708

Posté le : 16/04/2010 14:47

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: Requete SQL: Inner Join
Régulier
Inscrit: 20/08/2005 16:38
De Près de la plage
Messages: 493
merci Ghia pour le lien mais j'ai lu et relu cette page et je n'arrive vraiment pas à comprendre ce que l'auteur explique.

Posté le : 16/04/2010 16:17

Open in new window
http://www.amenosyla.fr
I'm Bad, Mad, Totaly Cr@zy !!!
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

16 Personne(s) en ligne (5 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 16 | Plus ...