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 + -
显示快捷键?