求一算法

j45kp 2011-06-02 03:12:11
反向递归,
要求如下,知道 在表中A中id=a ,其选中parent.id=b
但是b也有praent.id c, 以此类推,求最总praent.id,极表A中没有parent.id 的字符
希望各位高手提供思路
例如
a>b
b>c
c>d ....
d>e 但是e没有指向parent,这样e为最终值
...全文
170 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
种草德鲁伊 2011-06-03
  • 打赏
  • 举报
回复
kingdom_0 2011-06-03
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 gj462375513 的回复:]

小倩收我吧~~~~~~我新手~~~~~~~~~
[/Quote]我是小菜鸟,还不算入门,没法收你……
风骑士之怒 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ojlovecd 的回复:]
引用 8 楼 kingdom_0 的回复:
OJ,收我为徒吧。诚心的……

汗……以你的学习能力不需要师傅,说真的
而且我自己也在不断学习中……
不需要说谁收谁为徒,一起学习,共同进步
[/Quote]
求包养
guopeixi 2011-06-02
  • 打赏
  • 举报
回复
我刚刚看了一下关于oracle的树查询,SQL里面我还不知道怎么做,你百度一下树查询
至尊贱客 2011-06-02
  • 打赏
  • 举报
回复
小倩收我吧~~~~~~我新手~~~~~~~~~
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ojlovecd 的回复:]

引用 8 楼 kingdom_0 的回复:
OJ,收我为徒吧。诚心的……

汗……以你的学习能力不需要师傅,说真的
而且我自己也在不断学习中……
不需要说谁收谁为徒,一起学习,共同进步
[/Quote]向你看齐!
我姓区不姓区 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kingdom_0 的回复:]
OJ,收我为徒吧。诚心的……
[/Quote]
汗……以你的学习能力不需要师傅,说真的
而且我自己也在不断学习中……
不需要说谁收谁为徒,一起学习,共同进步
指间的风 2011-06-02
  • 打赏
  • 举报
回复
没看清楚题目,现在看清楚了。
vrhero 2011-06-02
  • 打赏
  • 举报
回复
t-sql就循环了,pl/sql有专门的tree函数...
指间的风 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 j45kp 的回复:]
反向递归,
要求如下,知道 在表中A中id=a ,其选中parent.id=b
但是b也有praent.id c, 以此类推,求最总praent.id,极表A中没有parent.id 的字符
希望各位高手提供思路
例如
a>b
b>c
c>d ....
d>e 但是e没有指向parent,这样e为最终值
[/Quote]


求最总praent.id,指的是什么,没能理解上去。
指间的风 2011-06-02
  • 打赏
  • 举报
回复
如果这个是求和,好像不对的样子。
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ojlovecd 的回复:]

C# code

A obj = a;
while(obj.parent != null)
{
obj = obj.parent;
}
[/Quote]
OJ,收我为徒吧。诚心的……
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复
更改一下,不一定对……说一下我的思路.

declare @id int
declare @parent_id int
set @id=a
set @parent_id=select ParentId from dbo.TableName where id=@id
while (@parent_id is not null)
begin
set @id=@parent_id
set @parent_id=select ParentId from dbo.TableName where id=@id
end
指间的风 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]

引用 3 楼 kingdom_0 的回复:

SQL code

declare @id int
declare @parent_id int
set @id=a
set @parent_id=select ParentId from dbo.TableName where id=@id
while (@parent_id!=null)
begin
set @id=@pare……
[/Quote]


大概差不多了。
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]

引用 3 楼 kingdom_0 的回复:

SQL code

declare @id int
declare @parent_id int
set @id=a
set @parent_id=select ParentId from dbo.TableName where id=@id
while (@parent_id!=null)
begin
set @id=@pare……
[/Quote]嘿嘿,回复框手写的.不过你提的这一点真的给忘了.
我姓区不姓区 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kingdom_0 的回复:]

SQL code

declare @id int
declare @parent_id int
set @id=a
set @parent_id=select ParentId from dbo.TableName where id=@id
while (@parent_id!=null)
begin
set @id=@parent_id
……
[/Quote]
sql 里要判断是否为null应该用:
while (@parent_id is not null)
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复

declare @id int
declare @parent_id int
set @id=a
set @parent_id=select ParentId from dbo.TableName where id=@id
while (@parent_id!=null)
begin
set @id=@parent_id
set @parent_id=select ParentId from dbo.TableName where id=@id
end
//result:@id的值

我姓区不姓区 2011-06-02
  • 打赏
  • 举报
回复

A obj = a;
while(obj.parent != null)
{
obj = obj.parent;
}

lihanbing 2011-06-02
  • 打赏
  • 举报
回复
表A是数据库中的表?还是什么别的表?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧