【发布时间】:2012-02-28 13:30:09
【问题描述】:
我有一个表格和值,如下例所示,当我选择时,我需要以逗号分隔的单行显示结果。
Table1.new_field 价值1 价值2 价值3
我需要选择查询的结果如下。
值1,值2,值3...
我检查了 wm_concat 之类的函数,但没有运气。我正在使用oracle 10g。请建议如何实现这一目标。
TIA。
【问题讨论】:
我有一个表格和值,如下例所示,当我选择时,我需要以逗号分隔的单行显示结果。
Table1.new_field 价值1 价值2 价值3
我需要选择查询的结果如下。
值1,值2,值3...
我检查了 wm_concat 之类的函数,但没有运气。我正在使用oracle 10g。请建议如何实现这一目标。
TIA。
【问题讨论】:
我想你想在 MySQL 中使用 GROUP_CONCAT 函数。但不幸的是,oracle 中没有内置函数。
您可能想查看这篇文章:GROUP_CONCAT in Oracle 10g 和 this 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
【讨论】: