2013-10-05 29 views
0

请帮我在Oracle中执行以下操作。Oracle中的列值串联

我有这样的事情列名为id,我需要在级联

Id 
1 
2 
3 
4 
5 
6 
8 
9 
9 

我需要一个查询返回1,2,3,4,5,6,7,8,9,9

我怎样才能做到这一点?

+1

你有没有想过你的共享现有的查询,而只是要求人们写的吗? –

回答

0

尝试

select ltrim(max(sys_connect_by_path(id, ',')), ',') 
    from (select id, rownum t 
      from yourtable t) 
connect by prior t = t - 1 
start with t = 1; 
1

试试这个,

WITH t(ID) AS 
(
SELECT 1 FROM dual 
UNION 
SELECT 2 FROM dual 
UNION 
SELECT 3 FROM dual 
UNION 
SELECT 4 FROM dual 
) 
SELECT LISTAGG(ID, ',') WITHIN GROUP (ORDER BY ID) 
FROM t;