表 myTable
字段一 ID 字段二 Username 字段三 NextName(Username推荐的用户)
1 name1 name2
2 name2 name3
name3 name4
name2 name5
name3 name6
name1 name7
会员一 推荐一个直接用户获得10个游戏积分
会员一的直接会员(name2) 推荐一个直接用户会员一获得 3个游戏积分会员二获得10积分
会员二的直接会员(name3)推荐的会员 会员二获得3个积分 会员一获得1个游戏积分我要把Username 显示在 DROPDOWNLIST中
例如 会员 name1登陆
会员一的直接会员是dropdownlist1显示 name2
name7
会员一的二级会员是dropdownlist1显示 name3
name5
会员一的三级会员是dropdownlist1显示 name4
name6
字段一 ID 字段二 Username 字段三 NextName(Username推荐的用户)
1 name1 name2
2 name2 name3
name3 name4
name2 name5
name3 name6
name1 name7
会员一 推荐一个直接用户获得10个游戏积分
会员一的直接会员(name2) 推荐一个直接用户会员一获得 3个游戏积分会员二获得10积分
会员二的直接会员(name3)推荐的会员 会员二获得3个积分 会员一获得1个游戏积分我要把Username 显示在 DROPDOWNLIST中
例如 会员 name1登陆
会员一的直接会员是dropdownlist1显示 name2
name7
会员一的二级会员是dropdownlist1显示 name3
name5
会员一的三级会员是dropdownlist1显示 name4
name6
-- Author :fredrickhu(小F,向高手学习)
-- Date :2010-04-17 19:06:10
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([ID] int,[Username] varchar(5),[NextName] varchar(5))
insert [tb]
select 1,'name1','name2' union all
select 2,'name2','name3' union all
select 3,'name3','name4' union all
select 4,'name2','name5' union all
select 5,'name3','name6' union all
select 6,'name1','name7'
--------------开始查询--------------------------
;with f as
(
select * from [tb] where Username='name2'
union all
select a.* from [tb] a, f b where a.Username=b.NextName
)
select Username,NextName from f
----------------结果----------------------------
/* Username NextName
-------- --------
name2 name3
name2 name5
name3 name4
name3 name6(4 行受影响)
*/