先建立一测试数据库
CREATE TABLE [dbo].[Userinfo](
[userid] [int] NOT NULL, --分销用户id
[username] [varchar](20) NOT NULL, --用户姓名
[datetimes] [datetime] NOT NULL, --用户创建时间
[minusername] [varchar](20) NULL,--上级分销姓名
--建立唯一标示 不允许重复
PRIMARY KEY CLUSTERED
(
[userid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
测试数据
第一级(第一个用户注册)
insert into[Userinfo] values('1','第一级',getdate(),'')
1.下级来注册
1.insert into[Userinfo] values('4','第四个下级用户注册',getdate(),'1')(第四个是1用户下级用户注册)
2.insert into[Userinfo] values('5','第四个下级用户注册',getdate(),'1')(第五个是1用户下级用户注册)
上面二个都是第一个用户的,这个二个还可以继续创建下级,
2.insert into[Userinfo] values('6','第四个下级用户注册',getdate(),'5')(第6个是5级用户的下级用户注册)
3.insert into[Userinfo] values('7','第四个下级用户注册',getdate(),'5')(第7个是5级用户的下级用户注册)
下面的以此类推
第二级(第二个用户注册)
insert into[Userinfo] values('2','第二级',getdate(),'')
第三级(第三个用户注册)
insert into[Userinfo] values('3','第三级',getdate(),'')
查询的时候
先查询登录用户下面有几个下级
select * from [Userinfo] where [minusername]='5' 登录用户的id
查询的第五个的所有下级
select * from [Userinfo] where [minusername]='5'