Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3023 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de jointure avec deux tables avec mysql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de jointure avec deux tables avec mysql

n°1376135
lucaskevin
Posté le 28-05-2006 à 09:21:08  profilanswer
 

Bonjour,
j'ai un problème jointure depuis quelques temps que je n'arrive pas à résoudre:
Voila les deux tables(ps: j'ai simplifié)
CREATE TABLE `utilisateur` (
`id` int(9) NOT NULL auto_increment,
`choix1` varchar(30) NOT NULL default '',
`choix2` varchar(30) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
 
 
 
INSERT INTO `utilisateur` VALUES (1, '1', '3');
INSERT INTO `utilisateur` VALUES (2, '2', '4');
 
 
 
 
CREATE TABLE `traduction` (
  `motid` int(9) NOT NULL auto_increment,
  `mot` text NOT NULL,
  PRIMARY KEY  (`motid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
 
 
 
INSERT INTO `traduction` VALUES (1, 'livre');
INSERT INTO `traduction` VALUES (2, 'stylo');
INSERT INTO `traduction` VALUES (3, 'revue');
INSERT INTO `traduction` VALUES (4, 'dvd');
donc je voudrais comme résultat par exemple pour l‘utilisateur ‘1’ que dans ses infos le résultat qui s’affiche soit :livre et revue
et que pour l‘utilisateur ‘2’ que dans ses infos le résultat qui s’affiche soit :stylo et dvd.
Donc est-ce qu‘il y aurait une personne qui puisse m'aider à faire la jointure car je galère
j'ai essayé:
$sql = " SELECT  * FROM fournisseur f inner join traduction t on t.motid=f.creer where utilisateur='1'";
malheureusement cela m'affiche "1" et "3" et pas  "livre" et "revue"
merci

mood
Publicité
Posté le 28-05-2006 à 09:21:08  profilanswer
 

n°1376168
Sve@r
Posté le 28-05-2006 à 12:37:24  profilanswer
 

select traduction.mot from traduction, utilisateur where utilisateur.id='1' and  
(utilisateur.choix1 = traduction.motid or utilisateur.choix2 = traduction.motid);
 
PS: Le fait d'intégrer les 2 choix dans la table "utilisateur" est une erreur de conception qui bloque toute évolutivité (comment feras-tu le jour où tu voudras offrir 3 choix aux utilisateurs et non plus 2 ? Tu modifieras la structure de "utilisateur" + toutes les requêtes comme celle ci-dessus ???)
 
La rigueur voudrait que tu crées une table "choisir" contenant
(id_utilisateur, choix)
Que tu bloques par pgm le remplissage de cette table à 2 tuple par utilisateur est un détail et le jour où ça doit évoluer, la modif est facile...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  problème de jointure avec deux tables avec mysql

 

Sujets relatifs
mysql phenomene paranormaux avec insert into[Php] - Tableau & Arbre: problème algorithmique
problème de jointureProblème upload. ne s'affiche pas
probleme de connexion SQL Server 2000[pygtk] Problème pour dessiner
pb authentification php/mysqlProblème de scrollbar
ereg_replace sur date Mysql yyyy-mm-dd 
Plus de sujets relatifs à : problème de jointure avec deux tables avec mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR