📄 subject_38562.htm
字号:
<p>
序号:38562 发表者:haha123 发表日期:2003-05-04 17:22:04
<br>主题:各位大哥,我如何查出他的:儿子 +孙子+重孙子+重重孙子+....共有多少个?
<br>内容:这里有一个家族表,结构如下: <BR>父亲 儿子 <BR>a1 b1 <BR>b1 c1 <BR>c1 d1<BR>.....<BR>a2 b2<BR>b2 c2<BR>c2 d2<BR>x1 .....<BR>..... <BR>x2 ......<BR><BR>“父亲”字段中存储的是父亲的名字,“儿子”字段中存储的是儿子的名字,每出生一个就要把出生者的父亲的名字和出生者的名字录入这个表,他们的关系是b是a的儿子,c是b的儿子,d是c的儿子,依次类推,那么如何通过sql语句查询出表中任意一个父亲的:“儿子+<BR>孙子+重孙子+重重孙子+ ....最后一个出生者”, 也就是查询出表中任意一个父亲的后辈总共有多少人? <BR>这个表中不只一个家族(这里仅以表中只存储了“字母1”,“字母2”两个家族为例)! 并且一个父亲不确定有几个孩子。这样的语句如何写呢? <BR><BR>如果情况是每个父亲都有两个孩子,即成等比数例增长,那么又怎样查询出表中任意一个父亲的后辈总共有多少人? <BR><BR> <BR>各位大侠,我在做asp程序时遇到了这个问题,很是痛苦,希望您能帮小弟一把,俺将不胜感激!!真诚的渴望着您的贵复!!! <BR>在此也谢谢您了!!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:阿志 回复日期:2003-05-05 19:19:17
<br>内容:我最近在用php做类似的东西,也遇到了这个问题,我是用一般算法书上都有的树的递归来实现的。<BR><BR>不是直接用sql,用sql一句话是办不到的(个人以为)<BR><BR>你先设计节点的数据结构,然后,程序把树建立起来,然后,求深度就可以了<BR><BR>建立树的过程就是递归查询数据库的过程,sql语句很简单的<BR><BR>主要是节点数据结构设计、递归建立树、求深度
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:阿志 回复日期:2003-05-06 22:53:17
<br>内容:我说错了,“查询出表中任意一个父亲的后辈总共有多少人?”不是求深度,而是求节点个数<BR><BR>建立树的递归函数里,加一个static计数就行<BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -