如何模糊搜索树结构(包含上级)

来源:互联网 发布:应用程序软件下载 编辑:程序博客网 时间:2024/06/09 13:46

准备工作:1,表结构:TABLE_A

ID ,ParentId,sys(标识唯一),name

顶级节点ROOT标识,ID 100

2,定义一个VO(ID,ParentID,List<VO> child)

begin:

1,根据唯一标识查找出当前节点(例如:XXXX) ID

SELECT ID FROM  TABLE_A WHERE SYS LIKE '%XXXX%'

2,根据当前节点的ID查找出所有的子节点 listA

SELECT * FROM TABLE_A WHERE ParentId=**

3,根据关键词查找当前节点以及父节点:setA

SELECT DISTINCT  a.ID FROM TABLE_A   a  START WITH  a.name LIKE '%xxx%' CONNECT BY  NOCYLE PRIOR  a.ParentId=a.ID 

查出的结果放到SET里

4,for循环所有的子节点listA

for(){

//递归所有的子节点-------判断 setA是否包含

//判断 setA是否包含

//拼接结果集


}