有一个表TreeNode( TreeNodeId, ParentId)
如何查找一个节点,它的所有子节点不超过两个。

解决方案 »

  1.   

    有一个表TreeNode( TreeNodeId, ParentId) 
    如何查找一个节点,它的所有子节点不超过两个。不超过两个没什么意义,不超两层的话,你可以直接用join来实现
    select a1.TreeNodeId,IFNULL(a2.ParentId,a1.a1.ParentId
    from (TreeNode a1 left join TreeNode a1 on a1.ParentId=a2.ParentId)
      

  2.   


    它的所有子节点不超过两个。 节点A下只有 2个子节点 A1, A2, 然后A1下或许有 A11,A12, 再有 A11下的 A111,A112不超过两层,则 A下可以有 A1,A2,A3..An, 然后A1下有A11,a12,A13,..A1n, 但A11下不会再有子节点了。这是我对中国汉语的理解。问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  3.   

    select t.ID from table t connect by   prior t.id =t. father_ID group by t.id having count(*)<3
    Oracle支持,其他的不知道
      

  4.   

    谢谢楼上的同学,在此非常感谢,至于ACMAIN同学,不想发表太多的疑问,你是一位前辈,我敬重你,但没必要在这里玩文字游戏。有人看懂了我的问题,说明我的表述没有问题。我还想告诉你,不要用强调符号来显示你对中国汉语理解有多好!!!人外有人,天外有天。