Помощь Составить MySQL запрос

WKTP

Постоялец
Регистрация
5 Сен 2013
Сообщения
53
Реакции
7
Нужна помощь с составлением запроса.
Магазин на Opencart 3.0.2.0, задача обновлять изображение категории основным изображением товара по полю click_product с максимальным значением...

Товар с ID 9 и 10 есть в категориях ID 1 и 2
Изображение категории ID 1 и 2 должно обновится на изображение товара с ID 10 т.к. у него больше значение click_product
Товары с ID 11, 12 и 13 в категории ID 3
Изображение категории ID 3 должно обновится на изображение товара с ID 11 т.к. у него больше значение click_product

Такой запрос не смогу составить, слишком сложно для меня, что-то простое, для одной таблицы смогу, а вот для трех увы...
Прошу помочь в составление запроса.

Таблица категорий
Код:
CREATE TABLE `oc_category` (
  `category_id` int(11) NOT NULL AUTO_INCREMENT,
  `image` varchar(255) DEFAULT NULL,
  `parent_id` int(11) NOT NULL DEFAULT '0',
  `top` tinyint(1) NOT NULL,
  `column` int(3) NOT NULL,
  `sort_order` int(3) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL,
  `date_added` datetime NOT NULL,
  `date_modified` datetime NOT NULL,
  PRIMARY KEY (`category_id`),
  KEY `parent_id` (`parent_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

INSERT INTO `oc_category` (`category_id`, `image`, `parent_id`, `top`, `column`, `sort_order`, `status`, `date_added`, `date_modified`) VALUES
(1, '', 0, 1, 1, 1, 1, '2020-04-28 15:00:00', '2020-04-28 15:00:00'),
(2, '', 0, 1, 1, 1, 1, '2020-04-28 15:00:00', '2020-04-28 15:00:00'),
(3, '', 0, 1, 1, 1, 1, '2020-04-28 15:00:00', '2020-04-28 15:00:00');
Таблица с товаром
Код:
CREATE TABLE `oc_product` (
  `product_id` int(11) NOT NULL AUTO_INCREMENT,
  `model` varchar(64) NOT NULL,
  `sku` varchar(64) NOT NULL,
  `upc` varchar(12) NOT NULL,
  `ean` varchar(14) NOT NULL,
  `jan` varchar(13) NOT NULL,
  `isbn` varchar(17) NOT NULL,
  `mpn` varchar(64) NOT NULL,
  `location` varchar(128) NOT NULL,
  `quantity` int(4) NOT NULL DEFAULT '0',
  `stock_status_id` int(11) NOT NULL,
  `image` varchar(255) DEFAULT NULL,
  `manufacturer_id` int(11) NOT NULL,
  `shipping` tinyint(1) NOT NULL DEFAULT '1',
  `price` decimal(15,4) NOT NULL DEFAULT '0.0000',
  `points` int(8) NOT NULL DEFAULT '0',
  `tax_class_id` int(11) NOT NULL,
  `date_available` date NOT NULL DEFAULT '0000-00-00',
  `weight` decimal(15,8) NOT NULL DEFAULT '0.00000000',
  `weight_class_id` int(11) NOT NULL DEFAULT '0',
  `length` decimal(15,8) NOT NULL DEFAULT '0.00000000',
  `width` decimal(15,8) NOT NULL DEFAULT '0.00000000',
  `height` decimal(15,8) NOT NULL DEFAULT '0.00000000',
  `length_class_id` int(11) NOT NULL DEFAULT '0',
  `subtract` tinyint(1) NOT NULL DEFAULT '1',
  `minimum` int(11) NOT NULL DEFAULT '1',
  `sort_order` int(11) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL DEFAULT '0',
  `viewed` int(5) NOT NULL DEFAULT '0',
  `date_added` datetime NOT NULL,
  `date_modified` datetime NOT NULL,
  `click_product` int(12) NOT NULL DEFAULT '0',
  PRIMARY KEY (`product_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

INSERT INTO `oc_product` (`product_id`, `model`, `sku`, `upc`, `ean`, `jan`, `isbn`, `mpn`, `location`, `quantity`, `stock_status_id`, `image`, `manufacturer_id`, `shipping`, `price`, `points`, `tax_class_id`, `date_available`, `weight`, `weight_class_id`, `length`, `width`, `height`, `length_class_id`, `subtract`, `minimum`, `sort_order`, `status`, `viewed`, `date_added`, `date_modified`, `click_product`) VALUES
(9, 'Product 0', '', '', '', '', '', '', '', '', 7, 'catalog/demo/htc_touch_hd_0.jpg', 5, 1, '100.0000', 200, 9, '2009-02-03', '146.40000000', 2, '0.00000000', '0.00000000', '0.00000000', 1, 1, 1, 0, 1, 0, '2020-04-28 15:00:00', '2020-04-28 15:00:00', 43),
(10, 'Product 1', '', '', '', '', '', '', '', '', 7, 'catalog/demo/htc_touch_hd_1.jpg', 5, 1, '100.0000', 200, 9, '2009-02-03', '146.40000000', 2, '0.00000000', '0.00000000', '0.00000000', 1, 1, 1, 0, 1, 0, '2020-04-28 15:00:00', '2020-04-28 15:00:00', 87),
(11, 'Product 2', '', '', '', '', '', '', '', '', 7, 'catalog/demo/htc_touch_hd_2.jpg', 5, 1, '100.0000', 200, 9, '2009-02-03', '146.40000000', 2, '0.00000000', '0.00000000', '0.00000000', 1, 1, 1, 0, 1, 0, '2020-04-28 15:00:00', '2020-04-28 15:00:00', 28);
(12, 'Product 3', '', '', '', '', '', '', '', '', 7, 'catalog/demo/htc_touch_hd_3.jpg', 5, 1, '100.0000', 200, 9, '2009-02-03', '146.40000000', 2, '0.00000000', '0.00000000', '0.00000000', 1, 1, 1, 0, 1, 0, '2020-04-28 15:00:00', '2020-04-28 15:00:00', 0);
(13, 'Product 4', '', '', '', '', '', '', '', '', 7, 'catalog/demo/htc_touch_hd_4.jpg', 5, 1, '100.0000', 200, 9, '2009-02-03', '146.40000000', 2, '0.00000000', '0.00000000', '0.00000000', 1, 1, 1, 0, 1, 0, '2020-04-28 15:00:00', '2020-04-28 15:00:00', 12);
Таблица товар в категорию
Код:
CREATE TABLE `oc_product_to_category` (
  `product_id` int(11) NOT NULL,
  `category_id` int(11) NOT NULL,
  PRIMARY KEY (`product_id`,`category_id`),
  KEY `category_id` (`category_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

INSERT INTO `oc_product_to_category` (`product_id`, `category_id`) VALUES
(9, 1),
(9, 2),
(10, 1),
(10, 2),
(11, 3),
(12, 3),
(13, 3);
 
Назад
Сверху