有一个表有字段:ID,NAME,PARENT_ID等,parent_id对应父id,比如第一条数据
id=14,parent_id=8,我希望取出第二条数据:ID=8,parent_id=2,在取出第三条数据:id=2,parent_id=0,结束
麻烦具体点

解决方案 »

  1.   

    n你的意思是取到 parent_id = 0的就算结束 ?那你就写个
    int pId = -1 ;
    while(rs.hasNext() && pId != 0){
    ...
          pId = rs.getInt("parent_id") ;
       }
      

  2.   

    select * from t2 start with id = 14 connect by prior id = parent_id;
      

  3.   

    我的数据是这样的
    id parent_id 
    2  0
    5  2
    6  2
    14 6
    16 4

    当id=14,取出该条数据id=14,parent_id=6
    再有parent_id对应id取出数据id=6,parent_id=2

    当parent_id=0结束
      

  4.   

    那你写个递归方法调用一下不就可以了 ,递归结束条件是 
    parent_id == 0 
      

  5.   

    我觉得你应该把所有数据读取出来每条对象封装成一个对象,然后把这些对象放到一个List中,然后在遍历,否则麻烦死啦,而且你不知道parent_id = 0的是否读取过啦,你先一遍用List list = new ArrayList()
    while(rs.hasNext()){
       //每条数据读取出来然后封装成为对象youObj   list.add(youObj) ;
    }接着你在遍历读取你的数据...