博客
关于我
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基础教程二
查看>>
mysql基础教程四 --连接查询
查看>>
MySQL基础知识:创建MySQL数据库和表
查看>>
MySQL基础系列—SQL分类之一
查看>>
MySQL处理千万级数据分页查询的优化方案
查看>>
mysql备份
查看>>
mysql备份与恢复
查看>>
mysql备份工具xtrabackup
查看>>
mysql备份恢复出错_尝试备份/恢复mysql数据库时出错
查看>>
mysql复制内容到一张新表
查看>>
mysql复制表结构和数据
查看>>
mysql复杂查询,优质题目
查看>>
MySQL外键约束
查看>>
MySQL多表关联on和where速度对比实测谁更快
查看>>
MySQL多表左右连接查询
查看>>
mysql大批量删除(修改)The total number of locks exceeds the lock table size 错误的解决办法
查看>>