heting

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  40 随笔 :: 9 文章 :: 45 评论 :: 0 Trackbacks
create table m_researcher_stock_rel(N_SEC_CODE  CHAR(6)
, C_RESEARCHER_CODE 
varchar(20))
drop table m_researcher_stock_rel
            
select * from m_researcher_stock_rel
insert into m_researcher_stock_rel values('000297''chenpeng');
insert into m_researcher_stock_rel values('000297''peopeo');
insert into m_researcher_stock_rel values('000297''aaa');
insert into m_researcher_stock_rel values('000297''bbb');
insert into m_researcher_stock_rel values('000297''ccc');
SELECT    n_sec_code, TRANSLATE (LTRIM (text'/'), '*/''*,') researcherList
    
FROM (SELECT ROW_NUMBER () OVER (PARTITION BY n_sec_code ORDER BY n_sec_code,
                   lvl 
DESC) rn,
                  n_sec_code, 
text
            
FROM (SELECT      n_sec_code, LEVEL lvl,
                              SYS_CONNECT_BY_PATH (c_researcher_code,
'/'text
                        
FROM (SELECT    n_sec_code, c_researcher_code as c_researcher_code,
                                        ROW_NUMBER () 
OVER (PARTITION BY n_sec_code ORDER BY n_sec_code,c_researcher_code) x
                                  
FROM m_researcher_stock_rel
                              
ORDER BY n_sec_code, c_researcher_code) a
                   CONNECT 
BY n_sec_code = PRIOR n_sec_code AND x - 1 = PRIOR x))
   
WHERE rn = 1
ORDER BY n_sec_code;

预想的结果成功出现,多行数据成功汇总到一行,特此分享与大家。对于你自己的应用中,只需要把SQL中“n_sec_code”
换为你的用来汇总的列,“c_researcher_code”替换为需合并文本的列,“m_researcher_stock_rel”替换为你的表名,就是这么简单。
posted on 2010-03-03 17:49 贺挺 阅读(2179) 评论(0)  编辑  收藏 所属分类: 数据库

只有注册用户登录后才能发表评论。


网站导航: