更新等于其他表的特定列

时间:2016-05-09 10:04:48

标签: php mysql sql sql-update opencart

我有两张桌子,其中一张是其他桌子。 我正在使用opencart,需要更新特定类别的所有产品的标题。

实施例: 的 oc_product_description

product_id
language_id
name

1
3
T-backs model 887 Róża

2
3
T-backs model 912 Róża

3
3
Push up model 3173 Róża

oc_product_to_category

category_id
product_id

1
1

2
1

3
1

我无法想象我应该使用什么查询..

UPDATE oc_product_description
SET name = REPLACE(name, 'T-backs model', 'BACK') WHERE product_id = SELECT product_id FROM oc_product_to_category WHERE category_id = 54;

感谢您的帮助:)

2 个答案:

答案 0 :(得分:1)

更新oc_product_description SET name = REPLACE(name,'T-backs model','BACK')WHERE product_id IN(SELECT product_id FROM oc_product_to_category WHERE category_id = 54);

这会对你有帮助。

答案 1 :(得分:0)

如果你有更多的product_id,你应该使用product_id而不是product_id =

UPDATE oc_product_description
SET name = REPLACE(name, 'T-backs model', 'BACK') 
WHERE product_id in ( SELECT product_id 
            FROM oc_product_to_category WHERE category_id = 54);