您的位置:首页 > 数据库 > Oracle

oracle行转列 vmsys.vm_concat

2012-12-13 16:44 417 查看
WITH tb AS(SELECT '001' ID, '2.发展' content1, 2 seq FROM dual

UNION all SELECT '001', '1.开始', 1 FROM dual

UNION all SELECT '001', '4.结局', 4 FROM dual

UNION all SELECT '001', '3.高潮', 3 FROM dual

UNION ALL SELECT '002', '4.结局', 4 FROM dual

UNION all SELECT '002', '3.高潮', 3 FROM dual

UNION all SELECT '002', '2.发展', 2 FROM dual

UNION all SELECT '002', '1.开始', 1 FROM dual

UNION ALL SELECT '003', '1.开始', 1 FROM dual

UNION all SELECT '003', '2.发展', 2 FROM dual

UNION all SELECT '003', '3.高潮', 3 FROM dual

UNION all SELECT '003', '4.结局', 4 FROM dual )

select id,max(content1) content1 from (select id, vm_concat(content1) over(partition by id order by seq) content1

from tb) group by id;

id content1

---- --------------------------------------------

1 001
1.开始,2.发展,3.高潮,4.结局

2 002 1.开始,2.发展,3.高潮,4.结局

3 003 1.开始,2.发展,3.高潮,4.结局
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: