Jump to content
Sign in to follow this  
ky3mu4

удалить неактивных производителей

Recommended Posts

Добрый вечер! подскажите пожалуйста как удалить неактивных производителей а именно того производителя у которого нет ни одного продукта. с импортом от поставщика импортировалось более 500 производителей. в ручную выбирать ненужных нереал....

Share this post


Link to post
Share on other sites
5 минут назад, buslikdrev сказал:
  Показать контент

image.thumb.png.c60f4548ac48344ec5d3f8b625a3f31c.png


То есть удаляете которые удаляются.
Остальное делается индивидуально (доработка вашего модуля который импортирует).

с модулем уже разобрался. как удалить масово. а не по 1. 

Share this post


Link to post
Share on other sites
7 минут назад, ky3mu4 сказал:

с модулем уже разобрался. как удалить масово. а не по 1. 

Мне подскажи) Интересный вопрос у тебя был ) 

Share this post


Link to post
Share on other sites

Получите сначала производителей которые не привязаны к товарам

SELECT DISTINCT GROUP_CONCAT(m.manufacturer_id) 
FROM `oc_manufacturer` AS m
LEFT JOIN `oc_product` AS p  ON (m.manufacturer_id = p.manufacturer_id)
WHERE p.product_id IS NULL

затем эти айдишники

удаляйте запросом

DELETE FROM `oc_manufacturer`
WHERE manufacturer_id IN (здесь айдишники через запятую);
DELETE FROM `oc_manufacturer_to_store`
WHERE manufacturer_id IN (здесь айдишники через запятую);

 

Share this post


Link to post
Share on other sites

как вариант

DELETE m1,
       m2,
       m3
FROM `oc_manufacturer` m1
JOIN `oc_manufacturer_to_store` m2 ON (m2.manufacturer_id = m1.manufacturer_id)
JOIN `oc_manufacturer_description` m3 ON (m3.manufacturer_id = m1.manufacturer_id)
WHERE m1.manufacturer_id NOT IN
    (SELECT DISTINCT p.manufacturer_id
     FROM `oc_product` p
     WHERE p.manufacturer_id IS NOT NULL
       AND p.manufacturer_id >0)

 

Share this post


Link to post
Share on other sites
11 минут назад, AlexDW сказал:

как вариант

DELETE m1,
       m2,
       m3
FROM `oc_manufacturer` m1
JOIN `oc_manufacturer_to_store` m2 ON (m2.manufacturer_id = m1.manufacturer_id)
JOIN `oc_manufacturer_description` m3 ON (m3.manufacturer_id = m1.manufacturer_id)
WHERE m1.manufacturer_id NOT IN
    (SELECT DISTINCT p.manufacturer_id
     FROM `oc_product` p
     WHERE p.manufacturer_id IS NOT NULL
       AND p.manufacturer_id >0)

 

что с этим делать? куда это прописывать?

Share this post


Link to post
Share on other sites

ну вы, млин, даете..

 

подключиться к своей БД напрямую (например через phpmyadmin) и выполнить запрос

Share this post


Link to post
Share on other sites
15 минут назад, AlexDW сказал:

ну вы, млин, даете..

 

подключиться к своей БД напрямую (например через phpmyadmin) и выполнить запрос

я извиняюсь, а как сделать запрос?)

Share this post


Link to post
Share on other sites
14 часов назад, ky3mu4 сказал:

JOIN `oc_manufacturer_description` m3 ON (m3.manufacturer_id = m1.manufacturer_id)

Если это оксторе

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.