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) 展开
晕,我的问题写的不对。是这样,只有一个表table1,这个表有id和parentid这2个字段,里面的数据存在母子关系,例如里面有这样的一组数据:
id parentid
101 -1
102 -1
1001 101
1002 101
10001 1001
10002 1001
已知id='101',要查出parent='101'的所有id(包括它的子级的id) 展开
1个回答
展开全部
这个事情简单:
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |