没有合适的资源?快使用搜索试试~ 我知道了~
sqlserver递归查询树结构的表的根结点子最里层的子结点
资源推荐
资源详情
资源评论
CREATE TABLE MENU
(
name nvarchar(50) NOT NULL PRIMARY KEY,
senior nvarchar(50) NULL
);
INSERT INTO MENU values('文件',NULL)
INSERT INTO MENU values('新建','文件')
INSERT INTO MENU values('项目','新建')
INSERT INTO MENU values('使用当前连接查询','新建')
INSERT INTO MENU values('编辑',NULL)
INSERT INTO MENU values('查询和替换','编辑')
INSERT INTO MENU values('查询','查询和替换')
INSERT INTO MENU values('替换','查询和替换')
WITH lmenu(name,senior,level) as
(
SELECT NAME,SENIOR,0 level FROM MENU WHERE SENIOR IS NULL
UNION ALL
SELECT A.NAME,A.SENIOR,b.level+1 FROM MENU A,lmenu b
where a.senior = b.name
)
SELECT * from lmenu
WITH lmenu(name,senior) as
(
select name,senior from menu where name='替换' --and senior is null
union all
SELECT A.NAME,A.SENIOR FROM MENU A,lmenu b
(
name nvarchar(50) NOT NULL PRIMARY KEY,
senior nvarchar(50) NULL
);
INSERT INTO MENU values('文件',NULL)
INSERT INTO MENU values('新建','文件')
INSERT INTO MENU values('项目','新建')
INSERT INTO MENU values('使用当前连接查询','新建')
INSERT INTO MENU values('编辑',NULL)
INSERT INTO MENU values('查询和替换','编辑')
INSERT INTO MENU values('查询','查询和替换')
INSERT INTO MENU values('替换','查询和替换')
WITH lmenu(name,senior,level) as
(
SELECT NAME,SENIOR,0 level FROM MENU WHERE SENIOR IS NULL
UNION ALL
SELECT A.NAME,A.SENIOR,b.level+1 FROM MENU A,lmenu b
where a.senior = b.name
)
SELECT * from lmenu
WITH lmenu(name,senior) as
(
select name,senior from menu where name='替换' --and senior is null
union all
SELECT A.NAME,A.SENIOR FROM MENU A,lmenu b
资源评论
xiaojie449
- 粉丝: 0
- 资源: 23
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功