sqlserver 递归查询
2015-08-27 17:38
441 查看
--递归查询所有上级用户
with my1 as
(
select *,0 as lvl from [OneBuy].[dbo].[T_User] where UserId = 4
union all
select [OneBuy].[dbo].[T_User].* ,lvl+1
from my1, [OneBuy].[dbo].[T_User]
where my1.ParentId = [OneBuy].[dbo].[T_User].UserId
)
select * from my1 ;
--递归查询所有下级用户
with my1 as
(
select *,0 as lvl from [OneBuy].[dbo].[T_User] where UserId = 3
union all
select [OneBuy].[dbo].[T_User].* ,lvl+1
from my1, [OneBuy].[dbo].[T_User]
where my1.UserId = [OneBuy].[dbo].[T_User].ParentId
)
select * from my1 where lvl>0 and lvl <4;
with my1 as
(
select *,0 as lvl from [OneBuy].[dbo].[T_User] where UserId = 4
union all
select [OneBuy].[dbo].[T_User].* ,lvl+1
from my1, [OneBuy].[dbo].[T_User]
where my1.ParentId = [OneBuy].[dbo].[T_User].UserId
)
select * from my1 ;
--递归查询所有下级用户
with my1 as
(
select *,0 as lvl from [OneBuy].[dbo].[T_User] where UserId = 3
union all
select [OneBuy].[dbo].[T_User].* ,lvl+1
from my1, [OneBuy].[dbo].[T_User]
where my1.UserId = [OneBuy].[dbo].[T_User].ParentId
)
select * from my1 where lvl>0 and lvl <4;
相关文章推荐
- mysql琐碎知识点
- Java连接,操作MongoDB
- php 与redis 结合 使用predis
- phpredis扩展安装
- 提高MySql批量更新的效率
- 错误记录,找不到sqlite dll
- MYSQL的group by和多字段的distinct
- Mysql中文查询没有结果
- Sql server连接2个字段/Arrary
- mysqld的安装和基本增删改查
- DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户
- 追踪记录每笔业务操作数据改变的利器——SQLCDC
- mysql
- mysql_real_escape_string
- oracle层次查询
- mysql 存储过程 实例
- oracle更新时间遇到ORA-01849
- oracle 12c rac gi 安装检测有Node Connectivity Failed报错
- mapreduce 将hdfs数据逐行写入mysql
- JDBC 数据库连接池 -Dbcp -C3p0