日期:2014-05-17  浏览次数:20791 次

SQL找关系节点
表如下格式(父与子是多对多的关系)
Parent_Dwg_No Parent_Rev_No Dwg_No Dwg_Rev

0029SAA 001 0029GAP 004
0029GAP 004 5247GAK 007
0029GAP 004 5247GAS 005
0029GAP 004 5247GBJ 002
。。。。。。
5247GBJ 003 0098GCJ 000
5247GBJ 003 0223GAM 001
5247GBJ 003 0118GBL 000

能否通过0223GAM 001找到根0029SAA 001






------解决方案--------------------
select *
from (select Parent_Dwg_No, Parent_Rev_No, rownum num
from Rt_basic_data
start with Dwg_No||Dwg_Rev = '0223GAM001'
connect by prior Parent_Dwg_No||Parent_Rev_No = Dwg_No||Dwg_Rev
order by num DESC)
 where rownum = 1