Jump to content

Recommended Posts

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

Если по-простому, кострукция должна выглядеть так:

УДАЛИТЬ ИЗ `oc_product_option` ЗНАЧЕНИЕ `option_id` = `13` ЕСЛИ В ТАБЛИЦЕ `oc_product_option_value` ЗНАЧЕНИЕ `option_value_id` = `1239`

 

пробовал прописывать команду DELETE FROM с операторами условия CASE и WHEN - где-то допускаю ошибку, так как не работает.

 

Share this post


Link to post
Share on other sites

DELETE FROM `oc_product_option`  WHERE option_id IN  (SELECT option_id FROM  oc_product_option_value  WHER option_value_id` = `1239`

Share this post


Link to post
Share on other sites

из таблицы нельзя удалить значение. из таблицы можно удалить строку

Share this post


Link to post
Share on other sites

плюс еще удалять и в product_option_value по product_id, чтобы мусора не было

Share this post


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

плюс еще удалять и в product_option_value по product_id, чтобы мусора не было

 

да, тут Вы правы - там тоже нужно зачистить, задача усложняется 

 

29 минут назад, chukcha сказал:

DELETE FROM `oc_product_option`  WHERE option_id IN  (SELECT option_id FROM  oc_product_option_value  WHER option_value_id` = `1239`

пробовал такую конструкцию, не заработало (

Share this post


Link to post
Share on other sites

пробуйте так

DELETE po, pov FROM `oc_product_option` po LEFT JOIN `oc_product_option_value` pov ON (po.option_id = pov.option_id) WHERE po.option_id = 13 AND pov.option_value_id = 1239;

 

только бэкап сначала сделайте!!!

Share this post


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

пробуйте так

 

DELETE po, pov FROM `oc_product_option` po LEFT JOIN `oc_product_option_value` pov ON (po.option_id = pov.option_id) WHERE po.option_id = 13 AND pov.option_value_id = 1239;

 

 

выдало ошибку http://prntscr.com/eh1rw9

 

Задачу решил немного заковыристым, но как оказалось результативным способом - через экспорт-импорт модуля CSV Price PRO

 

Спасибо всем большое за советы - надеюсь, они пригодятся в других возникающих задачах

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.