oracle里面查询子表数据和子表的子表的数据 5

有4个表分别是table1,table2,table3,table4,table2是table1的子表,table3是table2的子表,table4是table3的子表... 有4个表分别是table1,table2,table3,table4,table2是table1的子表,table3是table2的子表,table4是table3的子表。这4个表里的字段都是id和parentid,即table1的id是table2的parentid,table2的id是table3的parentid,table3的id是table4的parentid。现在已知条件是table1的id,要通过这个id把table2的id和table3的id还有table4的id都查出来,怎么写查询语句?我记得SQL里面好像是用的f_cid(id)这个方法,请教在oracle里面怎么实现。
晕,我的问题写的不对。是这样,只有一个表table1,这个表有id和parentid这2个字段,里面的数据存在母子关系,例如里面有这样的一组数据:
id parentid
101 -1
102 -1
1001 101
1002 101
10001 1001
10002 1001
已知id='101',要查出parent='101'的所有id(包括它的子级的id)
展开
 我来答
hongyaofu
2016-04-21 · TA获得超过1088个赞
知道大有可为答主
回答量:1227
采纳率:87%
帮助的人:510万
展开全部

这个事情简单:

select table1.id,table2.id,table3.id,table4.id
from table1,table2,table3,table4
where table4.parentid = table3.id and table3.parentid = table2.id and 
      table2.parentid = table1.id  and table1.id = '你已知的ID值';
更多追问追答
追问
不好意思,我的问题写错了,你再看看问题的补充。
追答

也简单:

select id,parentid from table1 start with id='101' connect by prior nparentid =id;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式