image002.gif数据表: node_id(子节点),job_id(子作业号),up_node_id(父节点),up_job_id(父作业号) 找出node_id,job_id与up_node_id,up_job_id之间的所有路径。数据如:
create table job(node_id varchar(20),job_id varchar(20), up_node_id varchar(20),up_job_id varchar(20))insert into job values('CBRUN', 'CB_AGENT_TR_DLY', 'CBRUN','SS_CBRUN_START');
insert into job values('CBRUN', 'SS_CBRUN_START', 'CFRUN','SE_CFRUN_END')
insert into job values('CFRUN', 'SE_CFRUN_END', 'CFRUN','CF_IN_OUT')
insert into job values('CFRUN', 'CF_IN_OUT', 'CFRUN','SS_CFRUN_START')
insert into job values('CFRUN', 'SS_CFRUN_START', 'TRANF','SE_TRANF_END')
insert into job values('TRANF', 'SE_TRANF_END', 'TRANF','TF_CR_CK01_M')
insert into job values('TRANF', 'TF_CR_CK01_M', 'TRANF','SS_TRANF_START')
insert into job values('TRANF', 'SS_TRANF_START', 'TRANP','SE_TRANP_END')
如求尾节点:node_id = 'CBRUN' job_id ='SS_CBRUN_START' 到 头节点:up_node_id ='TRANP' up_job_id='SE_TRANP_END' 之间路径我想用递归算法来取出 但是没有实现,急求答案

解决方案 »

  1.   

    没看懂逻辑,求尾节点:node_id =  'CBRUN ' job_id = 'SS_CBRUN_START ' 到 头节点:up_node_id = 'TRANP ' up_job_id= 'SE_TRANP_END ' 之间路径路径是什么呀?
      

  2.   

    node_id和job_id 决定的是尾节点,up_node_id 和 up_job_id决定的是头节点,在这个数据表中你看纪录就知道。
    求尾节点:node_id =   'CBRUN  ' job_id =  'SS_CBRUN_START  ' 到 头节点:up_node_id =  'TRANP  ' up_job_id=  'SE_TRANP_END  ' 之间路径 就是要求我们取出这两点之间所有纪录。
      

  3.   

    从你上面插入的数据说就是找到最后一个记录到第二条记录之间的所有记录吗?如果这样的话,会有两种情况:
    1、如果你的数据库排序是按照你所说的路径的话,直接用SQL就可以解决了。
    2、如果不是1的话,那么你还是没有说出路径的逻辑是什么,至少我不懂。
      

  4.   

    insert into job values( 'CBRUN ',  'CB_AGENT_TR_DLY ',  'CBRUN ', 'SS_CBRUN_START '); 
    父子节点是一个????
      

  5.   

    tree(start)
    {
    if (start-->end)
        print "start->end"
    else 
        {start=strat-->next
         tree(start)
         }