现有部门表a有三个字段pk(主键)、name(名称)、parentpk
假设表中现有以下数据:
pk name parentpk
1001 test1
1002 test2 1001
1003 test3 1002
1004 test4 1003
1005 test5 1004
问题是怎么用一、二条SQL语句得到pk=1005的所有上级父部门(包括父部门的父部门一至到根)记录,就像这样:
pk=1005的所有父部门列表
pk name parentpk
1001 test1
1002 test2 1001
1003 test3 1002
1004 test4 1003
请各位高手赐教!!!!
假设表中现有以下数据:
pk name parentpk
1001 test1
1002 test2 1001
1003 test3 1002
1004 test4 1003
1005 test5 1004
问题是怎么用一、二条SQL语句得到pk=1005的所有上级父部门(包括父部门的父部门一至到根)记录,就像这样:
pk=1005的所有父部门列表
pk name parentpk
1001 test1
1002 test2 1001
1003 test3 1002
1004 test4 1003
请各位高手赐教!!!!
你上面的要求这个就可以
select * from a where pk< 1005
start with pk = 1005
connect by prior parentpk = pk
order by id ;
start with pk = 1005
connect by prior parentpk = pk
order by level desc;
WHERE LEVEL > 1
start with pk = 1005
connect by prior parentpk = pk
order by level desc;