我写了两条sql想合成一条,求出所有科目ssegmentcode2 的父科目。
用到两个表:
sett_glsubjectdefinition 有 ssegmentcode2 , nparentsubjectId, id 字段
Sett_GlEntry 有 sSubjectCode, mAmount,dtExecute(日期执行日) id字段sql1使用递归求出科目 ssegmentcode2 的'21120102'的父科目,现在我想用ssegmentcode2等于sql2求出的所有sSubjectCode,
求出所有的科目的父科目,并能把两条sql合成一条,请高手指教!sql1:
select * from sett_glsubjectdefinition 
start with ssegmentcode2 = '21120102' connect by prior  nparentsubjectId = idsql2:
select   c.*, c.sSubjectCode  from Sett_GlEntry c 
         where  c.dtExecute between to_date('2010-02-22','yyyy-MM-dd') and
          to_date('2010-02-22','yyyy-MM-dd') 
       

解决方案 »

  1.   

    可能是没说清楚,我补充一下:
       我的目的是求出科目ssegmentcode2 的所有父科目号,sql1用递归方法求出了
    科目ssegmentcode2= '21120102'的父科目,现在我想让 ssegmentcode2 = sql2求出的 sSubjectCode,从而求出所有的父科目号。问题是如何使ssegmentcode2 = sSubjectCode,求出的sSubjectCode有许多科目号,每个科目都要求出父科目,从而得到所有的父科目。   请用一条sql得到所有的父科目。科目号'21120102'就不要了,写出来只是让大家明白它是个科目号而已。也不知描述清楚没有。
      

  2.   

    試一下這樣:select * from sett_glsubjectdefinition  
    start with ssegmentcode2 in 
    ( select c.sSubjectCode from Sett_GlEntry c  
      where c.dtExecute between to_date('2010-02-22','yyyy-MM-dd') and to_date('2010-02-22','yyyy-MM-dd')

    connect by prior nparentsubjectId = id