declare @id int
set @id=593
with aa as (
select * from 表 where categorid = @id
union all
select 表.* from aa inner join 表 on 表.parentid = aa.categorid
)
select * from aa
select * from item where itemID=3 union allselect * from item where FDetail=0 and parentID <(select parentID from item where itemID=3)
and substring(Number,1,2) =(select substring(Number,1,2) from item where itemID=3)
and substring(Number,4,2) =(select substring(Number,4,2) from item where itemID=3)
说下思路,先把自己本身一条找出来,然后找他的上级,看你的数据知道parentID 一定小于本身的parentID ,并且是目录的话FDetail=0,如果是其上级目录,他们前边的01.01什么的都是一样的,但是现在有个弊端,就是查询前,要确定这个itemID=3的是属于第几级实体,然后才能采用后边用多少个substring,另一个表itemID=3的条件没用,其实就是一个嵌套,你自己写里边吧
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)