Hello Matthew, Friday, December 5, 2003, 2:12:08 AM, you wrote:
thanks, but some more see below. [skipped] >> I have some table: >> /* BEGIN DUMP *************************************************/ >> CREATE TABLE `sp_tovar_vid` ( >> `id` int(11) NOT NULL auto_increment, >> `id_tovar_vid` int(11) NOT NULL default '0', >> `name` varchar(100) NOT NULL default '', >> `description` varchar(255) NOT NULL default '', >> UNIQUE KEY `id` (`id`) >> ); >> >> INSERT INTO `sp_tovar_vid` VALUES (0, 0, 'root', 'root category'); >> INSERT INTO `sp_tovar_vid` VALUES (7, 0, 'cat.1', ''); >> INSERT INTO `sp_tovar_vid` VALUES (8, 0, 'cat.2', ''); >> INSERT INTO `sp_tovar_vid` VALUES (9, 0, 'cat.3', ''); >> INSERT INTO `sp_tovar_vid` VALUES (10, 0, 'cat.4', ''); >> INSERT INTO `sp_tovar_vid` VALUES (11, 0, 'cat.5', ''); >> INSERT INTO `sp_tovar_vid` VALUES (12, 7, 'subcat 1', '(to cat.1)'); >> INSERT INTO `sp_tovar_vid` VALUES (13, 7, 'subcat 2', '(to cat.1)'); >> INSERT INTO `sp_tovar_vid` VALUES (14, 7, 'subcat 3', '(to cat.1)'); >> INSERT INTO `sp_tovar_vid` VALUES (15, 9, 'subcat 1', '(to cat.3)'); >> INSERT INTO `sp_tovar_vid` VALUES (16, 9, 'subcat 2', '(to cat.3)'); >> INSERT INTO `sp_tovar_vid` VALUES (17, 9, 'subcat 3', '(to cat.3)'); >> INSERT INTO `sp_tovar_vid` VALUES (18, 13, 'subsubcat 1', '(to subcat.2 >> to cat.1)'); >> /* END DUMP ****************************************************/ >> [skipped] >> _QUESTION 2_: how to display table with columns= >> ('parent_category.name' ,'category.name')? >> i tried this: >> /***/ >> SELECT t1.`name`,t2.`name` FROM `sp_tovar_vid` AS t1, `sp_tovar_vid` >> AS t2 WHERE t1.`id`=t2.`id_tovar_vid` ORDER BY t1.`name`,t2.`name`; >> /***/ >> How to make it more simply? >> >> _QUESTION 3_: how to display string: >> "subsubcat 1 - subcat.2 - cat.1" >> if we have only `id`=18 ? >> M> use SELECT IF(id=18, true_expression, false expression) FROM table... M> I'm not clear what you mean by "subsubcat 1 - subcat.2 - cat.1"... minus, or M> some sort of string concatenation? M> true expression might be field1 - field2, or CONCAT(field1, field2, ...) elucidation: i need to run recurse search to build string shown. it means: if we have `id`=18, we must build following string after mentioned recurse search runnnig. string: "subsubcat 1" + "subcat 2" + "cat.1" + "root" it's tree: /**/ root (`id`=0, `parent`=0) |--cat.1 (`id`=7, `parent`=0) | |-subcat 1 | |--subcat 2 (`id`=13, `parent`=7) | | |-subsubcat 1 (`id`=18, `parent`=13) | |-subcat 3 |-cat.2 |--cat.3 | |-subcat 1 | |-subcat 2 | |-subcat 3 |-cat.4 |-cat.5 /**/ -- Best regards, Alex mailto:[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]