表结构如下:

表数据如下:

一提到无限级,很容易想到递归,使用sql 的CET语法如下

with menu(Id,Name,ParentId,Level)
as
(
select Id,Name,ParentId,0 as Level from dbo.Category where ParentId is Null
Union All
Select A.Id,A.Name,A.ParentId,B.Level+1 from dbo.Category A inner join menu B
on A.ParentId=B.Id
)
select * from menu order by Id

  查询结果如下图:

看到这样的结果,大失所望,继续修改查询语句

with menu(Id,Name,ParentId,Level,px,px2)
as
(
select Id,Name,ParentId,0 as Level,Id px, cast(Id as nvarchar(4000)) px2 from dbo.Category where ParentId is Null
Union All
Select A.Id,A.Name,A.ParentId,B.Level+1 ,B.px,B.px2+ltrim(A.Id) from dbo.Category A inner join menu B
on A.ParentId=B.Id
)
select * from menu order by px,px2

  再看一下运行结果:

最新文章

  1. bzoj1723--前缀和(水题)
  2. EnjoyCSS – 在线的,先进的 CSS3 代码生成器
  3. 【原创】Kakfa metrics包源代码分析
  4. linux下mysql命令
  5. windows8.1 下搭建配置apache+php+mysql
  6. MyBatis 注解
  7. 操作数组的工具类Arrays
  8. 全面总结:matlab怎么做漂亮的图
  9. Linux开机启动(bootstrap)下
  10. linux-more
  11. 开源项目Git地址
  12. java FTPClient 上传文件 0kb 问题
  13. 关于 No buffer space available (maximum connections reached?): connect 的处理
  14. USACO 2012 December ZQUOJ 24128 Wifi Setup(动态dp)
  15. HTTP协议对URI长度,POST数据长度及COOKIE长度限制说明
  16. kubernetes 创建tomcat 容器
  17. E - More is better (并查集)
  18. 项目-高性能TcpServer - 目录
  19. LightOJ 1089 - Points in Segments (II) 线段树区间修改+离散化
  20. [NC13A]反蝴蝶效应/[SPOJ-NPC2014D]General Joke

热门文章

  1. 【前端学习笔记】2015-09-09~~~~nodejs中的require()和module.exports
  2. MGW——美团点评高性能四层负载均衡
  3. bzoj 3924 幻想乡战略游戏
  4. 【Vijos1222】等值拉面(DP)
  5. linux信号------探步
  6. Toast问题记录:This Toast was not created with Toast.makeText()
  7. 牛客网 牛客小白月赛1 C.分元宵-快速幂
  8. 第4章 使用 Spring Boot
  9. Codeforces 471 D MUH and Cube Walls
  10. 奇酷手机显示Log