求助一条行转列的查询语句

cdliujun 2011-01-06 02:54:17
数据集如下:
COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 COLUMN7 COLUMN8
AAA BBB CCC DDD EEE FFF GGG A1
AAA BBB CCC DDD EEE FFF GGG A2
AAA BBB CCC DDD EEE FFF GGG A3
BBB AAA DDD CCC GGG EEE FFF B1
BBB AAA DDD CCC GGG EEE FFF B2
BBB AAA DDD CCC GGG EEE FFF B3
CCC DDD FFF EEE BBB AAA GGG C1
CCC DDD FFF EEE BBB AAA GGG C2
CCC DDD FFF EEE BBB AAA GGG C3

要得到的数据列表如下:
COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 COLUMN7 COLUMN8
AAA BBB CCC DDD EEE FFF GGG A1,A2,A3
BBB AAA DDD CCC GGG EEE FFF B1,B2,B3
CCC DDD FFF EEE BBB AAA GGG C1,C2,C3

在线急等,谢谢各位~

...全文
92 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cdliujun 2011-01-06
  • 打赏
  • 举报
回复
谢谢各位大虾。
马上给分。
gelyon 2011-01-06
  • 打赏
  • 举报
回复
楼主Oracle版本是多少?
10g 支持wm_concat()函数,直接用就可以了
9i的话用sys_connect_by_path 递归构造就可以了
Oraclefans_ 2011-01-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 coolkisses 的回复:]

上面好快的速度,刚把测试数据整理出来,这边结果就有了
[/Quote]
呵呵。。。今天网络比较给力。。
coolkisses 2011-01-06
  • 打赏
  • 举报
回复
上面好快的速度,刚把测试数据整理出来,这边结果就有了
Oraclefans_ 2011-01-06
  • 打赏
  • 举报
回复
附加数据

SQL>
SQL> with tab as
2 (
3 select 'AAA' COLUMN1,'BBB' COLUMN2,'CCC' COLUMN3,'DDD' COLUMN4,'EEE' COLUMN5,'FFF' COLUMN6,'GGG' COLUMN7,'A1' COLUMN8 from dual union all
4 select 'AAA' COLUMN1,'BBB' COLUMN2,'CCC' COLUMN3,'DDD' COLUMN4,'EEE' COLUMN5,'FFF' COLUMN6,'GGG' COLUMN7,'A2' COLUMN8 from dual union all
5 select 'AAA' COLUMN1,'BBB' COLUMN2,'CCC' COLUMN3,'DDD' COLUMN4,'EEE' COLUMN5,'FFF' COLUMN6,'GGG' COLUMN7,'A3' COLUMN8 from dual union all
6 select 'BBB' COLUMN1,'AAA' COLUMN2,'DDD' COLUMN3,'CCC' COLUMN4,'GGG' COLUMN5,'EEE' COLUMN6,'FFF' COLUMN7,'B1' COLUMN8 from dual union all
7 select 'BBB' COLUMN1,'AAA' COLUMN2,'DDD' COLUMN3,'CCC' COLUMN4,'GGG' COLUMN5,'EEE' COLUMN6,'FFF' COLUMN7,'B2' COLUMN8 from dual union all
8 select 'BBB' COLUMN1,'AAA' COLUMN2,'DDD' COLUMN3,'CCC' COLUMN4,'GGG' COLUMN5,'EEE' COLUMN6,'FFF' COLUMN7,'B3' COLUMN8 from dual union all
9 select 'CCC' COLUMN1,'DDD' COLUMN2,'FFF' COLUMN3,'EEE' COLUMN4,'BBB' COLUMN5,'AAA' COLUMN6,'GGG' COLUMN7,'C1' COLUMN8 from dual union all
10 select 'CCC' COLUMN1,'DDD' COLUMN2,'FFF' COLUMN3,'EEE' COLUMN4,'BBB' COLUMN5,'AAA' COLUMN6,'GGG' COLUMN7,'C2' COLUMN8 from dual union all
11 select 'CCC' COLUMN1,'DDD' COLUMN2,'FFF' COLUMN3,'EEE' COLUMN4,'BBB' COLUMN5,'AAA' COLUMN6,'GGG' COLUMN7,'C3' COLUMN8 from dual
12 )
13 select COLUMN1,
14 COLUMN2,
15 COLUMN3,
16 COLUMN4,
17 COLUMN5,
18 COLUMN6,
19 COLUMN7,
20 wm_concat(COLUMN8) COLUMN8
21 from tab
22 group by COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5, COLUMN6, COLUMN7
23 ;

COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 COLUMN7 COLUMN8
------- ------- ------- ------- ------- ------- ------- --------------------------------------------------------------------------------
AAA BBB CCC DDD EEE FFF GGG A1,A2,A3
BBB AAA DDD CCC GGG EEE FFF B1,B2,B3
CCC DDD FFF EEE BBB AAA GGG C1,C3,C2

SQL>
Oraclefans_ 2011-01-06
  • 打赏
  • 举报
回复
select COLUMN1, COLUMN12, COLUMN3, COLUMN4, COLUMN5, COLUMN6, COLUMN7,wm_concat(COLUMN8) COLUMN8 from tab group by COLUMN1, COLUMN12, COLUMN3, COLUMN4, COLUMN5, COLUMN6, COLUMN7

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧