MySQL中具有父ID的多用户级别

时间:2012-12-04 07:15:23

标签: mysql

我有这个4级用户表,如下所示

user_id parent_id
1       NULL
2       1
3       2
4       2
5       3
6       1

我想选择某个父ID下的所有用户,例如user_id = 1,在这种情况下应返回如下结果:

user_id  parent_id
2        1         // return because parent_id = 1
6        1         // return because parent_id = 1
3        2         // return because parent_id of 2 is 1
4        2         // return because parent_id of 2 is 1
5        3         // return because parent_id of 3 is 2

通过提供ID,查询是什么?

提前致谢!

2 个答案:

答案 0 :(得分:0)

试试这个::

    Select 
user_id 
from 

my_table 
where parent_id in 
(
Select 
user_id 
from my_table where parent_id in 
(Select user_id from my_table where parent_id in(Select user_id from my_table where parent_id =?)))

答案 1 :(得分:0)

parentid as refid 
Select userid  from SampleTree where refid = 0 or refid in (Select userid from SampleTree where refid =0 
or refid in (Select userid from SampleTree where refid =0 or
refid in (Select userid from SampleTree where refid =0)))