niko42
Новичок
Здравствуйте.
Помогите, пожалуйста, составить SQL запрос на выборку данных из двух таблиц и сортируя со связанной таблицой.
Имеем следующее:
Сам SQL запрос:
Суть запроса: взять все продукты_ID из категорий_IN_ID, но при этом сортируя их из таблицы product.
К сожалению, мой вариант работать не хочет((
Помогите, пожалуйста, составить SQL запрос на выборку данных из двух таблиц и сортируя со связанной таблицой.
Имеем следующее:
Код:
CREATE TABLE IF NOT EXISTS `product_category` (
`product_id` int(11) NOT NULL,
`category_id` int(11) NOT NULL,
`position` int(11) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `product` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`article` varchar(25) CHARACTER SET utf8 NOT NULL,
`vendor_id` int(11) DEFAULT NULL,
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
`url` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`price` int(11) NOT NULL,
`old_price` int(11) DEFAULT NULL,
`new` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0',
`recommend` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '0',
`visible` enum('0','1') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1',
`description` text COLLATE utf8_unicode_ci,
`meta_title` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL,
`meta_keywords` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL,
`meta_description` varchar(500) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
UNIQUE KEY `url` (`url`),
UNIQUE KEY `article` (`article`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=21068 ;
Код:
'SELECT
`product_category`.`product_id`
FROM
`product`
JOIN
`product_category`
ON
`product`.`id` = `product_category`.`product_id`
WHERE
`product_category`.`category_id`
IN
(1,2,4,5,6)
ORDER BY
`product`.`name` DESC
LIMIT 0, 30;'
К сожалению, мой вариант работать не хочет((