使用相同产品ID的其他行中的值更新字段mysql表
我需要用另一行中使用的值更新数据库表。 我有一个有4000个产品的数据库,每个产品有3行,每种语言1(我使用3种语言)。
现在,我需要将产品标题从荷兰语语言复制到英文产品行的标题字段和法国产品行的相同产品标识中。 一些英文和弗林斯的标题栏是空的,但不是空的。
所以我有这个领域product_id; language_id; PRODUCT_TITLE
任何人都可以帮助我的SQL我需要为我所有的4000产品做到这一点?
谢谢,亲切的问候皮特
ps_product_lang是产品表的名称
数据库是MySQL
id_product int(10) unsigned NO PRI NULL
id_shop int(11) unsigned NO PRI 1
id_lang int(10) unsigned NO PRI NULL
description text YES NULL
description_short text YES NULL
link_rewrite varchar(128) NO NULL
meta_description varchar(255) YES NULL
meta_keywords varchar(255) YES NULL
meta_title varchar(128) YES NULL
name varchar(128) NO MUL NULL
available_now varchar(255) YES NULL
available_later varchar(255) YES NULL
沿着这些线应该工作。
UPDATE ps_product_lang p1
SET name =
(SELECT name
FROM (SELECT * FROM ps_product_lang) p2
WHERE p2.`id_product` = p1.`id_product`
AND p2.`id_lang` = 6)
WHERE `id_lang` != 6
您需要额外的嵌套选择,以防止MySQL报告以下错误:
错误代码:1093您无法在FROM子句中为更新指定目标表“p1”
链接地址: http://www.djcxy.com/p/37505.html上一篇: update fields mysql table with value from other row for the same product id