2014-04-03 42 views
0

我有一个包含两列ID_FT NUMBER(PK)和NM_FT VARCHAR的表TB_FT。Oracle - SELECT语句连接记录中的相同字段

Like: ID_FT NM_FT 
      1 MYFT1 
      2 MYFT2 

I have another table TB_CEL_FT with 2 columns ID_FT NUMBER(FK) and ID_CEL NUMBER 
Like: ID_FT ID_CEL 
      1  10 
      1  11 
      2  30 
      2  31 
      2  32 

我需要创建一个存储过程返回那样的SYS_REFCURSOR:

 ID_FT CELS 
     1  10,11 
     2  30,21,32  

我管理与查询工作,并把结果保存在一个类型,但我需要找出如何以SYS_REFCURSOR形式返回结果。

你们能帮我吗? TIA Luis

回答

1

较新的oracle的支持listagg。你可以这样使用它:

select 
    id_ft, 
    listagg(id_cel, ',') within group (order by id_cel) cels, 
from 
    table 
group by 
    id_ft