树级ParentId、childId查找上级(mysql)

本文介绍了一种通过SQL更新语句来调整商品类别结构的方法。主要针对具有层级关系的商品分类进行更新,确保每个类别的层级信息准确无误。该过程涉及多表联接操作,并根据父类别是否存在设置不同级别的类别代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 效果图:

 

 UPDATE eper_goods_category a
 join eper_goods_category b on a.parent_code=b.category_code
 join eper_goods_category c on b.parent_code=c.category_code
 left join eper_goods_category d on c.parent_code=d.category_code
 set a.category_code1=c.category_code,a.category_code2=b.category_code,a.category_code3=a.category_code
 where d.id is null;
 
 UPDATE eper_goods_category a
 join eper_goods_category b on a.parent_code=b.category_code
 left join eper_goods_category c on b.parent_code=c.category_code
 left join eper_goods_category d on c.parent_code=d.category_code
 set a.category_code1=b.category_code,a.category_code2=a.category_code
 where d.id is null and c.id is null;
 
 UPDATE eper_goods_category a
 left join eper_goods_category b on a.parent_code=b.category_code
 left join eper_goods_category c on b.parent_code=c.category_code
 left join eper_goods_category d on c.parent_code=d.category_code
 set a.category_code1=a.category_code
 where d.id is null and c.id is null and b.id is null;

 SELECT a.category_code1 as '一级code',a.category_code2 as '二级code',a.category_code3 as '三级code'
 ,b.category_name    as '一级类目',c.category_name    as '二级类目',d.category_name    as '三级类目'
 from eper_goods_category a
 left join eper_goods_category b on a.category_code1=b.category_code
 left join eper_goods_category c on a.category_code2=c.category_code
 left join eper_goods_category d on a.category_code3=d.category_code
 order by b.category_name,c.category_name,d.category_name

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值