2011-12-14 38 views
2

可能重复:
Is there an Oracle SQL query that aggregates multiple rows into one row?显示一行一列的多个值(SQL甲骨文)

我试图创建一个SQL查询,可以从返回数据表在一行中显示列的多个值。

例如因为这是表设置:

SEQ ROWSEQNUM ASSISTING_ASSOCIATES 
100 2   19332816 
100 1   1366344 
103 1   12228238 
104 1   1366474 

我需要查询的结果看起来像这样:

SEQ ROWSEQNUM ASSISTING_ASSOCIATES 
100 1   1366344; 19332816 
103 1   12228238 
104 1   1366474 

没有任何人有任何见解?

+0

还有其他问题(寻求做同样的事情)已经被回答。退房http://stackoverflow.com/questions/4370820/is-there-a-way-in-oracle-to-join-multiple-row-lines-into-a-single-one-using-t – 2011-12-14 16:38:46

回答

0

我认为这应该工作,假设对于每个SEQ值总是有一行ROWSEQNUM=1ROWSEQNUM的值依次增加而没有间隙。

select seq, min(rowseqnum), max(assoc_list) 
from (
    select seq, rowseqnum, sys_connect_by_path(assisting_associate,';') assoc_list 
    from assoc_table 
    start with rowseqnum=1 
    connect by seq = prior seq and rowseqnum = prior rowseqnum + 1 
) 
group by seq 
+0

你的假设是正确的我会试试这个感谢真的很快的回复 – BvilleBullet 2011-12-14 16:39:37