developer
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Приветик Всем, есть три таблицы: Привязка дополнительных полей к продукту в зависимости от категории продукта Код: CREATE TABLE `category_fields` ( `cat_extra_id` INT(11) NOT NULL AUTO_INCREMENT, `category_id` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `extra_fileds` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `sort_order` MEDIUMINT(3) DEFAULT '0', PRIMARY KEY (`cat_extra_id`), UNIQUE KEY `cat_extra_id` (`cat_extra_id`) ) ENGINE=MYISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | Таблиза с продкцией Код: CREATE TABLE `products` ( `products_id` INT(64) NOT NULL AUTO_INCREMENT, `catalogue_id` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_name` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_keywords` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_text` TEXT COLLATE utf8_unicode_ci, `products_img` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_img_2` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_img_3` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_img_4` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_img_5` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_url` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_price` DECIMAL(15,2) DEFAULT NULL, `products_currency` VARCHAR(3) COLLATE utf8_unicode_ci DEFAULT NULL, `products_enabled` VARCHAR(1) COLLATE utf8_unicode_ci DEFAULT '1', `products_verified` VARCHAR(1) COLLATE utf8_unicode_ci DEFAULT '0', `products_uploaded_user` VARCHAR(11) COLLATE utf8_unicode_ci DEFAULT NULL, `products_uploaded_clients_id` VARCHAR(11) COLLATE utf8_unicode_ci DEFAULT NULL, `products_enable_share_u` VARCHAR(1) COLLATE utf8_unicode_ci DEFAULT '0', `products_language` VARCHAR(11) COLLATE utf8_unicode_ci DEFAULT NULL, `products_stats` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `products_enabled_by_client` VARCHAR(1) COLLATE utf8_unicode_ci DEFAULT '0', PRIMARY KEY (`products_id`), UNIQUE KEY `products_id` (`products_id`) ) ENGINE=MYISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | Ну а в этой тоблице хранятьтся значения которые привязаны к продуктам и к первой таблице Код: CREATE TABLE `products_fields` ( `products_fields_id` INT(11) NOT NULL AUTO_INCREMENT, `products_id` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `cat_extra_id` VARCHAR(255) COLLATE utf8_unicode_ci DEFAULT NULL, `filed_value` TEXT COLLATE utf8_unicode_ci, PRIMARY KEY (`products_fields_id`), UNIQUE KEY `products_fields_id` (`products_fields_id`) ) ENGINE=MYISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci | Теперь пытаюсь вытащить дату из таблиц, типа: extra_fileds: filed_value Вес продукта: 0.1 кг Размер: 10x20x30 см Код: SELECT cf.extra_fileds, pf.filed_value FROM products p INNER JOIN products_fields pf ON p.products_id=pf.products_id INNER JOIN category_fields cf ON pf.cat_extra_id = cf.category_id WHERE p.catalogue_id=cf.category_id AND p.products_id='5' | Все выходит нормально но почему-то результат удваиваеться и выходит следующее на примере: Вес продукта: 0.1 кг Размер: 10x20x30 см Размер: 0.1 кг Вес продукта: 10x20x30 см каким путем можно вывести правильный результат? Где ошибка? |