有一个树状结构,层数不限, 
这是一个简单的例子。 
+----+------+ 
|   Id   |   Pid  |  
+----+------+ 
|     1   |   0   | 
|     2   |   1   | 
|     3   |   1   | 
|     4   |   2   | 
|     5   |   2   | 
+----+------+ 
表中的Id是主键,Pid表明该项的父结点,其中0说明是根。 
任意给出一个节点,需要返回其所有叶子节点。 
比如:
 当我给出Id = 1 时,返回2.3.4.5; 
 当我给出Id = 2 时,返回4.5; 1.
在MYSQL里应该怎样实现呢,谢谢。已经困扰好几天了。
2.
如果我再加入一个Level字段,表示层级,那在mysql里该怎么写呢? 

解决方案 »

  1.   

    mySQL版本>5 的话,可以在mySQL中用store procedure否则就只能在你的程序中实现了[align=center]====  ====
    [/align]
      

  2.   

    程序实现,可以参考
    http://topic.csdn.net/u/20080416/13/d1a75c6e-a7a1-4ed5-b2ce-ffc9737a1603.html4楼[align=center]====  ====
    [/align]
      

  3.   

    由于您是新用户,所以特此介绍一下结贴的方法
    如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。 结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。 
     或参考:
    http://www.csdn.net/help/over.asp
    http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
    =============================================================================
    问题解决,请及时结贴。  
     正确结贴方法:    
     管理帖子-->给分-->输入密码-->结贴[align=center]====  ====
    [/align]