当前表:
id_product id_shop id_lang description
---------------------------------------------------------
1 1 est black
2 1 eng brown
3 1 rus red
1 2 est
2 2 eng
3 2 rus
预期产出:
id_product id_shop id_lang description
---------------------------------------------------------
1 1 est black
2 1 eng brown
3 1 rus red
1 2 est black
2 2 eng brown
3 2 rus red
我需要将缺少的'description'从id_lang 1复制到id_lang 2,用于各自的产品和语言。
我有野蛮但这次超时并且结果出错:
UPDATE `ps_product_lang` t1, `ps_product_lang` t2
SET t1.description = t2.description
WHERE t1.id_shop = 2
AND t2.id_shop = 1
如果你能在我错的地方纠正我,我将不胜感激。
答案 0 :(得分:0)
这应该有效:
UPDATE `ps_product_lang` t1 join `ps_product_lang` t2 on
t1.id_lang = t2.id_lang
SET t1.description = t2.description
WHERE t1.id_shop = 2
AND t2.id_shop = 1
答案 1 :(得分:0)
我认为您可以使用id_lang
列合并说明,如下所示
UPDATE `ps_product_lang` t1
INNER JOIN `ps_product_lang` t2
ON t1.`id_lang` = t2.`id_lang`
SET t1.`description` = t2.`description`
WHERE t1.`description` IS NULL
如果列包含空值
,您可能需要将IS NULL
更改为= ''