0

当前表:

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

对于相应的产品和语言,我需要将缺少的“描述”从 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

如果您能纠正我的错误,我将不胜感激。

4

2 回答 2

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
于 2013-09-23T16:41:11.927 回答
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= ''

于 2013-09-23T16:44:02.450 回答