有张表pubbranch里面有两个字段,branchID(主键,NUMBER)和treePath(层次,如000-001,000-001-001)。
现在有branchID1和branchID2.
我想查询满足branchID1的treePath在branchID2的treePath的后面的,或者相同。
请教大侠,如何写此SQL来的简单。

解决方案 »

  1.   

    select m.branchID , n.branchID
    from pubbranch m , pubbranch n 
    where m.treePath like '%' || n.treePath || '%'select m.branchID , n.branchID
    from pubbranch m , pubbranch n 
    where n.treePath like '%' || m.treePath || '%'
      

  2.   

    select p.branchID,ascii(p.treePath) c 
    from pubbranch p用ascii试过了不行,000-001,000-001-001这两个怎么比较呢?期待高手
      

  3.   

    select m.branchID , n.branchID
    from pubbranch m , pubbranch n 
    where m.treePath like '%' || n.treePath || '%'select m.branchID , n.branchID
    from pubbranch m , pubbranch n 
    where n.treePath like '%' || m.treePath || '%'
      

  4.   

    select *
    from pubbranch m
    where m.treePath>=(select n.treePath from pubbranch n where m.branchID=n.branchID);