表1  
     act_id
       20
       21
       22
     ......
表2
sub_id      exce             act_id
2005        2006/2007          20
2006        2005/2007          20
2007        2005/2006          20
3001        3002/3003          21
3002        3001/3003          21
3003        3001/3002          21
....         ......            ..表一中的sub_id数目不定,但可通过act_id 得到
select sub_id from 表2  where act_id = 表1.act_idexce 是一个字符串,现在就是想动态的得到这个exce字符串
初步想法是先得到相关的sub_id
select sub_id from 表2  where act_id = 表1.act_id
然后去掉自己的ID
组合其他sub_Id 
id1/id3/ 
但是菜鸟,写不下去了?
PL\sql中,哪为大虾用D也可以.

解决方案 »

  1.   

    select sub_id from 表2  where act_id = 20
      

  2.   

    select sub_id from 表2  where act_id = 20
    得到3个sub_id
    用这3个sub_Id 组合成一个互斥字符串,自己不会更自己相斥.所以要取掉自己.
    比如.
    得到3个sub_Id 
    2005       
    2006        
    2007  
    那想对应的组合关系就是:
    2005        2006/2007          
    2006        2005/2007          
    2007        2005/2006
      

  3.   

    hehe这个得用代码实现了:
    不过先取出数据: select sub_id,act_id from 表2  where act_id = 表1.act_id order by act_id ,根据数据进行组合!
      

  4.   

    是哦,是哦,要用代码实现,用D也行,最好是PL\SQL