数据表结构
ID:当前ID
UP_ID:父ID
Name:名称
ID UP_ID Name
1 0 n1
2 1 n2
3 2 n3
ID:当前ID
UP_ID:父ID
Name:名称
ID UP_ID Name
1 0 n1
2 1 n2
3 2 n3
查询ID为3的前两级的UP_ID对应的Name,要一条语句查询
查询语句:
/* create table t ( ID number(8), UP_ID number(8), Name varchar2(20) ); insert into t values(1,0,'n1'); insert into t values(2,1,'n2'); insert into t values(3,2,'n3'); */ --按楼主直意 select t2.id,t2.up_id,t2.name from t t1 inner join t t2 on t1.up_id = t2.id; --递归算法 select * from ( select * from t start with id = 3 connect by prior up_id = id ) temp where temp.id <> 3;