0

我有一个包含 30,000 种产品的产品表。

SELECT product_id,sku PRODUCT T1

1  3518
12 3518[2]
11 88322[2]
10 915703[12]
 9 915703

product_id 的 1 和 12 是相同的产品,但有所不同,所以我想更新 product_description.tag 两个值。

product_id = 1
product_description.tag = 3518, 3518[2]

product_id = 12
product_description.tag = 3518, 3518[2]

product_id = 11
product_description.tag = 88322[2]

product_id = 10
product_description.tag = 915703[12],915703

product_id = 9
product_description.tag = 915703[12],915703

认为这是有道理的,我只是无法在同一张桌子上做一个 LIKE '%3518' 并更新另一个。

你能帮我吗?

谢谢

斯图

4

1 回答 1

0

这是一个可怕的模式,花点时间通过创建一个新表来部分修复它,说Product_Masters并用以下结果填充它:

SELECT product_id, 
    (
    SELECT MIN(product_id)
    FROM PRODUCT T2 
    WHERE T2.sku LIKE T1.sku + '%'
    ) AS master_project_id
FROM PRODUCT T1

然后将其用作设置 product_description 字段的列表。首先更新与 master_product_id 对应的记录的描述,然后更新所有子项目以匹配该值。

于 2012-10-17T10:54:40.253 回答