有表字段为id,parent_id,name。
想要根据name模糊查询出相关的层级
比如有以下树状数据:
----食物
---- 水果
---- 香蕉
---- 苹果
---- 肉类
---- 鸡肉
---- 肥牛
查询 name like '%肉%'希望只出现以下结构
----食物
---- 肉类
---- 鸡肉
有表字段为id,parent_id,name。
想要根据name模糊查询出相关的层级
比如有以下树状数据:
----食物
---- 水果
---- 香蕉
---- 苹果
---- 肉类
---- 鸡肉
---- 肥牛
查询 name like '%肉%'希望只出现以下结构
----食物
---- 肉类
---- 鸡肉
最好分步查询,建议表上添加path字段(就是整个parent_id路径,比如鸡肉的path就是食物、肉类)。然后首先按name查询,然后做path切割后取唯一id,再把所有id的数据都查出来,丢给前端让前端自己拼树结构。
15 回答8.4k 阅读
8 回答6.2k 阅读
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
1 回答4k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
建议使用"闭包表"(可以百度一下)
CREATE TABLE tree(self INT,parent INT,distance INT);
查询带肉的字段
在代码中按self分类,合并树
其他: