Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Как через mysql запрос присвоить всем товарам главную категорию?


Recommended Posts

Как через mysql запрос присвоить всем товарам главную категорию? Товару присвоены категории (несколько) в которых он показывается. Все эти категории имеют разную вложенность. Нужно присвоить всем товарам главную из самой младшей категории. Opencart 2.3 (Русская сборка)

Надіслати
Поділитися на інших сайтах


можно построить один запрос

UPDATE c_product_to_category p2c0
JOIN ( 

SELECT p0.product_id,  
(SELECT p2c.category_id FROM oc_product p
JOIN oc_product_to_category p2c ON p.product_id = p2c.product_id
JOIN oc_category_path cp ON p2c.category_id = cp.category_id
WHERE p.product_id = p0.product_id
ORDER BY cp.level DESC
LIMIT 1) as cat
FROM oc_product p0) t0 
ON t0.cat =  p2c.category_id AND p2c0.product_id = t0.product_id
SET main_category = 1

внимание!!! Код для понимания, но не для копипаста

Надіслати
Поділитися на інших сайтах

6 часов назад, chukcha сказал:

можно построить один запрос



UPDATE c_product_to_category p2c0
JOIN ( 

SELECT p0.product_id,  
(SELECT p2c.category_id FROM oc_product p
JOIN oc_product_to_category p2c ON p.product_id = p2c.product_id
JOIN oc_category_path cp ON p2c.category_id = cp.category_id
WHERE p.product_id = p0.product_id
ORDER BY cp.level DESC
LIMIT 1) as cat
FROM oc_product p0) t0 
ON t0.cat =  p2c.category_id AND p2c0.product_id = t0.product_id
SET main_category = 1

внимание!!! Код для понимания, но не для копипаста

Одинаковой младшести не должно быть. 

Змінено користувачем Bracula
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.