数据表结构
id parentId已知两个ID(idA,idB) 用什么方法能最快判断出是否idA和idB是什么关系,哪个是顶层节点,或者没有关系,当idA是idB的以上层节点返回true标题写的父子关系可能不太适当,应该哪个节点再哪个的上层

解决方案 »

  1.   

    数据表结构 有两个字段id      parentId 方法需要输入两个id,输出一个布尔值,判断是否有关系,关系怎么样
      

  2.   


    int getParentID( int nID ) {
        //根据nID取得ParentID,你自己实现吧。
    }boolean isHighLevelID( int ida, int idb ){
        do {
            if(ida==getParentID(idb)) {
               return true;
            }
            idb=getParentID(idb);
        } while( idb不是根节点);
    }
      

  3.   

    select count(*) from table where (id=idA and parentId=idB) or (id=idB and parentId=idA)
      

  4.   

    楼主要的不只是父子关系,是要一种相当于祖先与子孙的关系,如果是SQL,可以用connect by,详细参考oracle的reference.