2012-02-07 85 views
0

我有一个表格和值,如下例所示,当我选择时,我需要结果以逗号分隔的单行形式提供。以单行逗号分隔的格式选择查询结果

Table1.new_field 值1 值2 值3

我需要的结果如下的选择查询。

值1,值2,值3 ...

我检查喜欢wm_concat但没有运气的功能。我正在使用Oracle 10g。请建议如何实现这一点。

TIA。

回答

0

我想你想在MySQL中使用GROUP_CONCAT函数。但不幸的是,在oracle中没有内建函数。

你可能想看看这篇文章:GROUP_CONCAT in Oracle 10gthis one

with data 
as 
(
    select job, 
    ename, 
    row_number() over (partition by job order by ename) rn, 
    count(*) over (partition by job) cnt 
    from emp 
) 
select job, ltrim(sys_connect_by_path(ename,','),',') scbp 
    from data 
    where rn = cnt 
    start with rn = 1 
    connect by prior job = job and prior rn = rn-1 
    order by job 
/

JOB  SCBP 
--------- ---------------------------------------- 
ANALYST FORD,SCOTT 
CLERK  ADAMS,JAMES,MILLER,SMITH 
MANAGER BLAKE,CLARK,JONES 
PRESIDENT KING 
SALESMAN ALLEN,MARTIN,TURNER,WARD