sql递归问题,请高人帮忙,拜谢!

posemanboy 2006-08-25 03:24:37
有树型结构表A:

id pid name
1 0 张三
2 1 李四
3 2 王五

现在想得到这样一种数据表
id allname
1 张三
2 张三,李四
3 张三,李四,王五

说明: pid 是id的父id 。
...全文
330 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
posemanboy 2006-08-25
  • 打赏
  • 举报
回复
刚去开了个会,回来看就有这么多热心人回复了。
谢谢大家啊~~~
待会儿做个测试~
feng2 2006-08-25
  • 打赏
  • 举报
回复
sorry

今天有些火燥。
超叔csdn 2006-08-25
  • 打赏
  • 举报
回复
不好意思,说话语气过重了。
connect by id = prior id +1;这个条件的话确实不如猫的好。
如果里面的记录不是排的这么有规律的话,你这个条件就不适用了。

以后我会改正我冲动的毛病,多谢指教。
feng2 2006-08-25
  • 打赏
  • 举报
回复
sbaz(万神渡劫)兄,阐述自己的观点最好还是列出依据来,OK?
我无意指责你什么,只是你说的话有失厚道。
xiaoxiao1984 2006-08-25
  • 打赏
  • 举报
回复
最近都在找分数呢,大概大家都要长星星拉
一起升星最好拉
超叔csdn 2006-08-25
  • 打赏
  • 举报
回复
支持猫,蜀山风云是运气好。
刚好别人的字段是那样排的,正确的写法还是猫的。
wiler 2006-08-25
  • 打赏
  • 举报
回复
支持 feng2(蜀山风云)
xiaoxiao1984 2006-08-25
  • 打赏
  • 举报
回复
SQL> select id, substr(SYS_CONNECT_BY_PATH(name,','),2) from f_tree start with pid = 0 connect by prior id = pid
2 /

ID SUBSTR(SYS_CONNECT_BY_PATH(NAM
---------- --------------------------------------------------------------------------------
1 张三
2 张三,李四
3 张三,李四,王五
feng2 2006-08-25
  • 打赏
  • 举报
回复
SQL> SELECT ID,PID,NAME FROM A ORDER BY ID;

ID PID NAME
----- ---------- ----------
1 0 我
2 1 是
3 2 谁
4 3 啊
5 4 ?

SQL> select id,substr(sys_connect_by_path(name,','),2) allname from a
2 start with id = 1
3 connect by id = prior id +1;

ID ALLNAME
----- ------------------------------------------------------------------------------
1 我
2 我,是
3 我,是,谁
4 我,是,谁,啊
5 我,是,谁,啊,?

SQL>
feng2 2006-08-25
  • 打赏
  • 举报
回复
select id,substr(sys_connect_by_path(name,','),2) allname from a
start with id = 1
connect by id = prior id +1;
posemanboy 2006-08-25
  • 打赏
  • 举报
回复
自个儿顶!!!!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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