14103.html

来自「以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题」· HTML 代码 · 共 26 行

HTML
26
字号
<html>
  <head>
    <title>如何找出某一 Node 的所有后代子孙?</title>
  </head>
  <body bgcolor="#FFFFFF" vlink="#808080">
    <center>
      <h1>如何找出某一 Node 的所有后代子孙?</h1>
    </center>
<hr size=7 width=75%>

<hr size=7 width=75%><p>
Posted by <a href="mailto:sephiroth@optimasoft.com.tw">Sephiroth</a> on June 10, 1999 at 10:32:08:<p>
假设有一资料表内容如下:<br>ID        ChildID   <br>------------------<br>1           2<br>1           3<br>2           4<br>2           5<br>3           17<br>4           6<br>4           7<br>5           8<br>5           9<br>6           10<br>8           11<br>10          13<br>10          14<br>11          13<br>11          14<br>12          1  <br>13          15<br>13          16<br>17          6<br>17          7<p>ID: Node ID, ChildID: Node Children ID<br>按照这个 Table可以画成一棵 Tree. 然后就发生了以下问题:<p>1.如何找出 RootNode?<br>a:用 SELECT * FROM Relationship WHERE ID NOT IN (SELECT ChildID FROM Relationship)<p>2.某一个 Node的第一层 Child?<br>a:这比较简单, SELECT * FROM Relationship WHERE ID=xxx<p>3.如何列出某一 Node的所有后代子孙?<br>a:这一题我就做不出来了, 第二层的 Child 可以用<br>SELECT * FROM Relationship WHERE ID IN <br>(SELECT ChildID FROM Relationship WHERE ID=xxx)找出, <br>同理: 第三层, 第四层..第 n 层, 只要增加 SubQuery 的层次就可以了,<br>但是我还没有试出可以一次指定某一个 Node就列出此 Node的所有后代子孙<br>的叙述, 有没有 SQL高手可以相助回答这问题?
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 14103-->
<!--top: 14109--><li><a href="14109.html">附上 Recursive 的程式码</a> <b>Sephiroth</b> <i>11:20:05 6/10/99</i>
(<!--responses: 14109-->0)
<ul><!--insert: 14109-->
</ul><!--end: 14109-->
</ul><!--end: 14103-->
<br><hr size=7 width=75%><p>

</body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?