id  pid(父类ID)
1    0
2    1
3    1
4    2
5    2
6    4
我现在需要根据PID,查询他所有叶子节点的ID
比如查询0,得到:123456
       2,得到:456
这种层级关系不确定,可能有很多层。数据库结构已经不可能修改了
这个问题郁闷了几天了,大家帮帮忙,谢谢大侠们

解决方案 »

  1.   

    select p2.id  from table p1 ,table p2 where p1.id=p2.pid and p1.id=0
      

  2.   

    假设你的表名是treeselect distinct a.id from tree as a inner join tree as b on (a.pid = b.pid) where b.pid >=0;
    select distinct a.id from tree as a inner join tree as b on (a.pid = b.pid) where b.pid >=2;
      

  3.   

    通过程序或数据库的store procedure来实现了。 在mySQL中无法以一句SQL实现。[align=center]====  ====
    [/align]
      

  4.   

    恩,差不多已经搞定了,也是用store procedure 来做成的