WITH a AS ( SELECT *, FOrderPath=CAST(RIGHT(1000+FOrder,3) AS NVARCHAR(200)), FPath=CAST(Id AS NVARCHAR(200)), FLevel=0 FROM Base_Class AS a WHERE NOT EXISTS(SELECT 1 FROM Base_Class WHERE ID=a.PID) UNION ALL SELECT b.*, CAST(a.FOrderPath + RIGHT(1000+b.FOrder,3)AS NVARCHAR(200)), CAST((a.FPath + ‘,‘ + CAST(b.Id AS NVARCHAR(10)))AS NVARCHAR(200)), FLevel=FLevel+1 FROM a INNER JOIN Base_Class AS b ON b.PID=a.ID ) SELECT * FROM a ORDER BY FOrderPath
相关文章
- 09-27SQL语句(八)按条件查询
- 09-27SQL嵌套查询示例
- 09-27SQL查询语句中的 limit 与 offset 的区别
- 09-27为什么这个正确转义的SQL查询失败了?
- 09-27ctfhub技能树—sql注入—UA注入
- 09-27sql整数型注入
- 09-27SQL命令:更新表中的数据,查询表中有多少行数据
- 09-27sql查询重复数据
- 09-27mybatis模糊查询的sql语句的标准写法
- 09-27SQL模糊查询 同时匹配多个字段