呵呵 ,对于高手应该不简单的拉,最近项目遇到个这样的树型结构的查询 ,特来请教高手业务背景描述:有会员管理系统中:会员是成树状的结构,就有 一个会员下面有0个到n个会员,会员是分层次的一层一层往下增加,比如: 会员1 下有会员2,会员3,会员4……会员n  ,会员2 下又哟会员5,会员6,……会员n ;会员3下又有会员7,会员8……会员n; 会员5下又有会员9,会员10,……会员N ;      设计表结构如下user( 会员ID,上级会员ID ,上上级会员ID),增加会员的时候要求必须输入上级会员ID ,上上级会员ID(两中关系的会员利润不一样,这里先不考虑这个)。   问题1:要求根据任何一个会员的会员id 查询出该会员下面的所有会员,要求体  现出会员之间的结构层次。
    
   问题2:要求根据新增加的会员ID查询出他上面的所有会员.
    
   说了这么多如果高手还有不明白的可以随时问,在先等待。

解决方案 »

  1.   

    http://blog.csdn.net/mantisXF/archive/2007/07/18/1697248.aspx
      

  2.   

    级次是不是只有两级呀?
    如果只有两级我觉得还好说。
    1:select * from user where 上级会员ID='查询的编号' or 上上级会员ID='查询的编号' 。
    2:select * from user where 会员ID='查询的编号' 
    我觉得这样应该可以。
    要实现会员之间的所属关系我想编程时可以考虑使用treeview控件。
      

  3.   

    可以用ORACLE 的 层次化查询。
    SELECT level,A.*  FROM USER A  START WITH USRE_ID=0 
           CONNECT BY PRIOR user_id=上级会员ID 
           ORDER BY level
      

  4.   

    上面的说对,用 START WITH USRE_ID=0 CONNECT BY PRIOR user_id=上级会员ID ORDER BY level
    仔细了解 CONNECT BY PRIOR 和level的含义就可以解决你的树的问题