日期:2014-05-18  浏览次数:20489 次

写一个SQL语句的时候,卡壳了。。。。
有这样的一个表:
categoryID cname summary RootID  
8 第一个分类 第一个分类描述 0  
9 第二个分类 第二个分类描述 0  
10 第二个分类子类 第二个分类子类描述 9
11 第二个分类子类的子类 第二个分类子类的子类描述 10
13 第三个分类 第三个分类描述 0
14 第三个分类子类 第三个分类子类描述 13

现在想得到的结果是:第二个分类\第二个分类子类\第二个分类子类的子类

我是觉得要做一个循环,循环取得cname,再把取得的cname连接起来,但是卡壳了,谁给写一个,借鉴一下。。。。。


------解决方案--------------------
select
a.cname+'/'+b.cname+'/'+c.cname
from 
表 a,表 b,表 c
where
a.RootID=0
and
a.categoryID=b.RootID 
and 
b.categoryID=c.RootID
------解决方案--------------------
如果层次不固定,那就用递归。