Voila j'ai 2 tables voici le schema :
et la deuxieme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 CREATE TABLE `ttopics` ( `id` int(10) unsigned NOT NULL DEFAULT '0', `sPath` varchar(255) DEFAULT NULL, `sDispname` text, `sTitle` text, `sDescription` text, PRIMARY KEY (`id`), UNIQUE KEY `sPath` (`sPath`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Exemple de donnee dan la table topics :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE `ttopicnarrow` ( `idTopic` int(10) unsigned DEFAULT NULL, `idType` int(10) unsigned DEFAULT NULL, `idNarrowTopic` int(10) unsigned DEFAULT NULL, UNIQUE KEY `idTopic` (`idTopic`,`idNarrowTopic`) USING BTREE, KEY `FK_ttopicnarrow_1` (`idNarrowTopic`), CONSTRAINT `FK_ttopicnarrow_1` FOREIGN KEY (`idNarrowTopic`) REFERENCES `ttopics` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
id = 1 , sPath = voiture/ les autres champs me sont pas utile pour la requete
id = 2 , sPath = vente/
id = 3 , sPath = peugeot/
id = 4 , sPath = bmw/
Exemple dans la table ttopicnarrow :
idtopics = 1 , idtopicnarrow = null
idtopics = 1 , idtopicnarrow = 2
idtopics = 2 , idtopicnarrow = 3
idtopics = 2 , idtopicnarrow = 4
ma requete doit donnee :
voiture/vente/peugeot/
voiture/vente/bmw/
cette requete ne fonctionne pas car j'ai plus d'une valeur pour la sous requete
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT ttopics.sPath, ttopics.id, ttopicnarrow.idNarrowTopic, (select ttopics.sPath as suite from ttopics join ttopicnarrow on ttopicnarrow.idNarrowTopic = ttopics.id) FROM ttopics , ttopicnarrow where ttopics.id = ttopicnarrow.idTopic
Et cette requete j'ai la valeur BLOB qui s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select ttopics.id, ttopics.sPath from ttopics union select ttopicnarrow.idNarrowTopic , ttopics.sPath from ttopicnarrow inner join ttopics on ttopicnarrow.idNarrowTopic = ttopics.id
Je suis sous Mysql 5.1
Merci de votre aide.
Partager