SELECT подкатегория, которая равна parentCategory = значение из внешней таблицы - PullRequest
0 голосов
/ 01 июня 2019

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

TABLE products:

category_id      sku      discount     
-----------------------------------
8             3141          NULL 
7             4333          NULL 
7             601           NULL
3             405           NULL  


TABLE product_category:

id      parent_id           slug     
-----------------------------------
8             18          somename 
7             3           somename 

Это довольно простой вопрос, но я не могувыяснить, как использовать столбец parent_id для простого обновления таблицы моих продуктов, вместо того, чтобы записывать каждый идентификатор подкатегории, например:

UPDATE products 
SET discount = 25 
WHERE category_id IN (1,4,5,6 etc..);

Я хочу обновить таблицу продуктов, выбрав идентификатор родительского подкатегории из product_category таблица.

Ответы [ 3 ]

0 голосов
/ 01 июня 2019

Рассмотрим UPDATE + JOIN:

UPDATE products p 
INNER JOIN product_category c ON p.category_id = c.id
SET p.discount = 25 ;
0 голосов
/ 03 июня 2019
UPDATE products 
SET discount = 15
WHERE category_id IN (SELECT id FROM product_category WHERE parent_id = 3);
0 голосов
/ 01 июня 2019

Вы ищете что-то вроде этого -

UPDATE products 
SET discount = 25 
WHERE category_id IN (SELECT Parent_id FROM Product_Category);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...