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

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 に答える