Как сравнить значения из двух таблиц и вставить, если они совпадают - PullRequest
0 голосов
/ 16 мая 2018

у меня 3 таблицы

  1. кошка
    • id (int)
    • категория (варчар)
  2. подкатегория
    • id (int)
    • категория (идентификатор из базы данных категорий int)
    • подкатегория (varchar)
  3. продукт
    • id (int)
    • p_name (varchar)
    • категория (варчар)
    • category_id (int)
    • sub_category (varchar)
    • sub_category_id (id)

Мне нужно проверить, есть ли cat.category == product.category и subcat.sub_category == product.sub_category, а затем вставьте идентификаторы из cat и subcat в products_id category_id, sub_category_id

SELECT p.*, c.category AS category_name, s.sub_category AS subcategory_name
                                        FROM product AS p
                                        LEFT JOIN subcat AS s ON p.sub_category = s.sub_category 
                                        LEFT JOIN cat AS c ON p.category = c.category

1 Ответ

0 голосов
/ 16 мая 2018

смотрящая вам схема

похоже, вы ищете обновление для столбцов products_id категории, столбцов sub_category_id на основе значений категории и подкатегории

вы можете использовать обновление с объединениями

update product p 
inner join subcat AS s ON p.sub_category = s.sub_category 
inner join cat AS c ON p.category = c.category 
set p.category_id = c.id, 
    p.sub_category_id = s.id  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...