求个前辈指点迷津
我用使用递归查询,需要查询每个分类下的子分类。
我的代码如下:
SQL code
查询的结果却是这样的:
我是芒果果 1 NULL 0
服务指南 2 NULL 0
成长动态 4 NULL 0
每月晒晒 5 NULL 0
营养链 6 NULL 0
媒体介绍 8 1 1
专利保护 9 1 1
产品开发 10 1 1
数据库管理 11 1 1
我想达到的效果是根oracle数据库中start with ..connect by prior ..这样的效果。
也就是子类排在它的父类的后面
如:
【媒体介绍,专利保护,产品开发,数据库管理】应该在【我是芒果果】的后面
请教前辈怎么达到这样的效果?
我的代码如下:
SQL code
WITH lmenu([TYPE_NAME],[TYPE_ID],[Parent_Id], level) as ( SELECT [TYPE_NAME],[TYPE_ID],[Parent_Id],0 level FROM T_News_Type WHERE [Parent_Id] is null UNION ALL SELECT a.[Type_Name],a.[TYPE_ID],a.[Parent_Id],b.level+1 FROM T_News_Type a,lmenu b where a.[Parent_Id] = b.[TYPE_ID] )SELECT * from lmenu
查询的结果却是这样的:
我是芒果果 1 NULL 0
服务指南 2 NULL 0
成长动态 4 NULL 0
每月晒晒 5 NULL 0
营养链 6 NULL 0
媒体介绍 8 1 1
专利保护 9 1 1
产品开发 10 1 1
数据库管理 11 1 1
我想达到的效果是根oracle数据库中start with ..connect by prior ..这样的效果。
也就是子类排在它的父类的后面
如:
【媒体介绍,专利保护,产品开发,数据库管理】应该在【我是芒果果】的后面
请教前辈怎么达到这样的效果?
作者: zouyou1986 发布时间: 2011-06-12
再排序一下试试,
作者: chuanzhang5687 发布时间: 2011-06-12
根据哪个字段排?
作者: zouyou1986 发布时间: 2011-06-12