jointure de deux tables qui ne marche pas

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

vérité
Nouveau WRInaute
 
Messages: 13
Inscription: Mar Mai 15, 2007 22:25

jointure de deux tables qui ne marche pas

Message le Mer Mai 16, 2007 6:41

bonjour,
voilà j'ai deux tables
Personnes et Communes
la table Personnes contient
-Nom char(255)
-Prénom char(255)
- Adresse char(255)
et la table Communes contient
-commune char(255)
-Nom char(255)
-codepostal char(255)
pour la jointure des deux tables, j'ai fait ces requetes mais ca ne marche pas
$sql = mysql_query('SELECT Personnes.Nom, Personnes.Prénom, Personnes.Adresse, communes.commune,communes.codepostal
FROM Personnes LEFT JOIN Communes ON Personnes.Nom = Communes.Nom');
et ca


'SELECT P.Nom, P.Prenom, P.Adresse, C.commune,C.codepostal
FROM Personnes P, Communes C where P.Nom = C.Nom'
j'ai vraiment besoin d'aide merci
merci

NextGeneration
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Mer Sep 27, 2006 18:34

Re: jointure de deux tables qui ne marche pas

Message le Mer Mai 16, 2007 6:51

vérité a écrit:la table Personnes contient
-Nom char(255)
-Prénom char(255)
- Adresse char(255)
et la table Communes contient
-commune char(255)
-Nom char(255)
-codepostal char(255)


problème de conception...


reglysse
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 148
Inscription: Mer Avr 19, 2006 16:51

Message le Mer Mai 16, 2007 7:47

Il faut retirer le nom de la table Communes et rajouter un identifiant unique dans cette table.

Communes :
id_Communes
commune
codepostal

Personnes :
Nom
Prenom
Adresse
id_Communes

Comme ça une commune peut être attribuée à plusieurs personnes.

Ta requête devient :
Code: Tout sélectionner
SELECT Personnes.*, Communes.commune, Communes.codepostal
FROM Personnes LEFT JOIN Communes ON Personnes.id_Communes = Communes.id_Communes


Pour tu ne mets pas le code postal et la commune dans la table personne ?

vérité
Nouveau WRInaute
 
Messages: 13
Inscription: Mar Mai 15, 2007 22:25

jointure de deux tables qui ne marche pas

Message le Mer Mai 16, 2007 11:22

pourquoi dois je utiliser un identifiant? je veux juste selectioner les noms de personnes inscrites à la commune car toutes les personnes de la table personnes ne doivent pas être inscrites à la communes.donc j'aimerai garder ma table comme elle est et seclectionner les noms de personnes dans les deux tables.
merci

vérité
Nouveau WRInaute
 
Messages: 13
Inscription: Mar Mai 15, 2007 22:25

jointure de deux tables qui ne marche pas

Message le Mer Mai 16, 2007 11:22

pourquoi dois je utiliser un identifiant? je veux juste selectioner les noms de personnes inscrites à la commune car toutes les personnes de la table personnes ne doivent pas être inscrites à la communes.donc j'aimerai garder ma table comme elle est et seclectionner les noms de personnes dans les deux tables.
merci

jarreweb
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Ven Sep 12, 2003 8:17

Message le Mer Mai 16, 2007 14:09

parcequ'un indentifiant unique est bien plus performant qu'un champ texte
et ca permet aussi de pouvoir modifier le nom d'une ville tout en gardant la relation entre les différentes tables


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3332
Inscription: Mar Nov 16, 2004 18:27

Re: jointure de deux tables qui ne marche pas

Message le Mer Mai 16, 2007 15:17

vérité a écrit:pourquoi dois je utiliser un identifiant?


Je viens de tomber sur un de mes scripts, ben ce que tu as fait devrait tres bien marcher:
"SELECT p.Nom, p.Prenom, p.Adresse, c.commune, c.codepostal FROM Personnes p, Communes c WHERE p.Nom=c.Nom";

Soit dit en passant, reglysse a raison pour la structure des tables... puis c'est moins gourmand en ressource de comparer 1 nombre à une chaine de caractère.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités