table_product_name
product_id | product_language | product_name
1 en apple pad
1 fr (empty)
2 en apple pod
2 fr (empty)
3 en apple mac
3 fr (empty)
我想创建一个更新查询,将“product”中的每个product_id从“en”行复制到(empty)product_name字段中带有“fr”的相同product_id的行。
由于
答案 0 :(得分:0)
update p1
set p1.product_name = p2.product_name
from table_product_name p1
inner join table_product_name p2 on p2.product_id = p1.product_id and p2.product_language = 'en'
where p1.product_language = 'fr'
答案 1 :(得分:0)
也许你真的不需要更新...
SELECT x.product_id
, x.product_language
, COALESCE(y.product_name,x.product_name) product_name
FROM my_table x
LEFT
JOIN my_table y
ON y.product_id = x.product_id
AND y.product_language = 'en';