我有一个产品表,里面有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'并更新另一个。
你能帮忙吗?
由于
斯图
答案 0 :(得分: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对应的记录的描述,然后更新所有子项目以匹配该值。