Таблица сравнения SQL Noob в opencart

У меня есть одна таблица под названием VEGAN с номерами моделей, которые я хочу 3800 строк с кодами модели или SKU. вот и все.

В основной таблице oc_products есть 15000 товаров / строк с более чем 20 столбцами. В одном из этих столбцов есть элемент управления для enable, который можно установить в 0 или 1.

Я хочу отключить все продукты в основной таблице oc_products, если их нет в таблице VEGAN, или сначала отключить (установить статус 0) их всех и включить их (установить статус 1), если они находятся в таблице веганов.

До сих пор я придумал это... Я здесь первый таймер.

ПЕРВОЕ ОТКЛЮЧИТЬ ВСЕ...

ОБНОВИТЬ oc_productЗАДАВАТЬ status= '0' ГДЕ 1

затем...

ОБНОВЛЕНИЕ oc_product SET status= '1' WHERE 'ocproduct.model' = 'VEGAN.SKU'

Это не работает, и я застрял, пожалуйста, помогите.

2 ответа

Решение

Попробуйте этот запрос...

update oc_product set status = 1 where model in (select sku from vegan)

Это предполагает, что oc_product.model Матчи vegan.sku,

любой vegan.sku с соответствием oc_product.model получите oc_product.status установлен в 1,

Для вашего второго заявления об обновлении вы должны сделать что-то вроде:

UPDATE oc_product SET status = '1' 
WHERE ocproduct.model IN (SELECT SKU FROM Vegan)

или вы можете использовать альтернативный формат:

UPDATE oc_product SET status = '1'
FROM oc_product
INNER JOIN Vegan
  ON oc_product.model = Vegan.SKU
Другие вопросы по тегам