博客
关于我
SQL Server递归查询在Highgo DB中实现 (APP)
阅读量:391 次
发布时间:2019-03-05

本文共 1058 字,大约阅读时间需要 3 分钟。

作者:瀚高PG实验室 (Highgo PG Lab)

目录

环境

文档用途

详细信息

环境

系统平台:Microsoft Windows (64-bit) 10

版本:5.6.4

文档用途

在Highgo DB中实现和SQL Server一样效果的递归查询

详细信息

1、SQL Server表创建以及测试数据添加

 

Create table GroupInfo([Id] int,[GroupName] nvarchar(50),[ParentGroupId] int)

 

 

Insert GroupInfo

select 0,'某某大学',null union all

select 1,'外语学院',0 union all

select 2,'英语专业',1 union all

select 3,'日语专业',1 union all

select 4,'英语专业一班',2 union all

select 5,'英语专业二班',2 union all

select 6,'日语专业一班',3 union all

select 7,'日语专业二班',3 union all

select 8, '法学院',0 union all

select 9, '刑法学专业',8 union all

select 10,'经济法学专业',8 union all

select 11,'刑法学专业一班',9 union all

select 12,'刑法学专业二班',9 union all

select 13,'经济法学专业一班',10 union all

select 14,'经济法学专业二班',10

 

2、SQL Server递归查询语句

 

--构造递归路径

with

CTE

as

(

    select Id,GroupName,ParentGroupId,GroupPath=CAST( GroupName as nvarchar(max)) from GroupInfo where Id=0

    union all

    select G.*,CAST(CTE.GroupPath+'//'+G.GroupName as nvarchar(max)) as GroupPath from CTE

    inner join GroupInfo as G on CTE.Id=G.ParentGroupId

)

select * from CTE order by ParentGroupId

更多详细信息请登录【瀚高技术支持平台】查看 

转载地址:http://hyowz.baihongyu.com/

你可能感兴趣的文章
MySQL日期时间函数大全
查看>>
mysql时间相减的问题
查看>>
mysql时间表示和计算
查看>>
MySQL是如何做容器测试的?
查看>>
mysql更改数据库表utf-8_修改mysql数据库为 utf-8
查看>>
mysql更改表引擎INNODB为MyISAM的方法总结
查看>>
mysql更新一个表里的字段等于另一个表某字段的值
查看>>
Mysql更新时间列只改日期为指定日期不更改时间
查看>>
MySQL更新锁(for update)摘要
查看>>
mysql更新频率_MySQL优化之如何了解SQL的执行频率
查看>>
mysql替换表的字段里面内容
查看>>
MySQL最多能有多少连接
查看>>
MySQL最大建议行数 2000w,靠谱吗?
查看>>
MySQL有哪些锁
查看>>
MySQL服务器安装(Linux)
查看>>
mysql服务器查询慢原因分析方法
查看>>
mysql服务无法启动的问题
查看>>
MySQL杂谈
查看>>
mysql权限
查看>>
mysql条件查询
查看>>