SQL 菜鸟在 opencart 中比较 table

SQL Noob compare table in opencart

我有一个名为 VEGAN 的 table 型号,我想要 3800 行型号或 SKU 代码。就是这样。

在主要 oc_products table 中有 15000 种产品/行超过 20 列,在其中一列中有一个启用控件,可以将其设置为 0 或 1。

我想禁用主要 oc_products table 中的所有产品,如果它们不在 VEGAN table 中,或者首先禁用(将状态设置为 0)它们并启用他们(将状态设置为 1)如果他们在 Vegan Table.

到目前为止我已经想到了这个...我是这里的新手。

首先禁用一切...

更新oc_product 设置 status= '0' 其中 1

然后...

更新 oc_product 设置 status= '1' 其中 'ocproduct.model' = 'VEGAN.SKU'

它不起作用,我卡住了, 请帮忙

试试这个查询...

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

这假设 oc_product.model 匹配 vegan.sku

任何具有匹配 oc_product.modelvegan.skuoc_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