SQL2000 查询 多级分类

SQL2000 查询 多级分类,第1张

sql 2005及以上可以用with作:

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 all

select * 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的条件没用,其实就是一个嵌套,你自己写里边吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6757322.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存