求一SQL语句!

[复制链接]
查看11 | 回复9 | 2008-2-13 12:43:03 | 显示全部楼层 |阅读模式
有一表,内容如下:
ID,A1,A2
1,AA1,AA2
2,AA1,AA22
3,AA2,AA3
4,AA2,AA33

要能得出如下结果:
ID,A1,A2
1,AA1,AA2 AA22
2,AA2,AA3 AA33
请问如何实现?谢谢!!!!!!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
又是行列转换的问题,论坛里已经很多了,自己找找吧
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
不是行列转换瓦,是多行合并啊!把A1列相同的合并成一行
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 youhello 发布
[B]有一表,内容如下:
ID,A1,A2
1,AA1,AA2
2,AA1,AA22
3,AA2,AA3
4,AA2,AA33

要能得出如下结果:
ID,A1,A2
1,AA1,AA2 AA22
2,AA2,AA3 AA33
请问如何实现?谢谢!!!!!! [/B]

高手,帮忙解决下不?
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
好像找到了,谢谢哈!!!!!!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
晕倒,A1列无法确定,咋办?高手指点!!!!!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
寫個聚集函數,比較通用!
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
我认为行列转换在数据两少的情况下比较好用,像LZ列太多,或者无法确定的情况是行列转换就不好用,请教,在数据量大的情况下怎么用行列转换。
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
精华区有葫芦呀 我来照画个瓢
首先 你的id没对应上 更想是个 rownum,自己加吧
SQL> select * from test_5;
ID A1 A2
--- ---------- --------------------------------------------------------------------------------
1 AA1AA2
2 AA1AA22
3 AA2AA3
4 AA2AA33
SQL>
SQL> select
2 distinct a1, first_value(a2) over (partition by a1 order by le desc) a2
3from
4( select a1,replace(sys_connect_by_path(a2,';'),';',' ') a2,level le from
5
(select rownum rn, a.* from test_5 a order by a1 ) b
6connect by a1=prior a1 and rn=prior rn+1
7 ) c;
A1 A2
---------- --------------------------------------------------------------------------------
AA1 AA2 AA22
AA2 AA3 AA33
SQL>
回复

使用道具 举报

千问 | 2008-2-13 12:43:03 | 显示全部楼层
最初由 wyf01048 发布
[B]精华区有葫芦呀 我来照画个瓢
首先 你的id没对应上 更想是个 rownum,自己加吧
SQL> select * from test_5;
ID A1 A2
--- ---------- --------------------------------------------------------------------------------
1 AA1AA2
2 AA1AA22
3 AA2AA3
4 AA2AA33
SQL>
SQL> select
2 distinct a1, first_value(a2) over (partition by a1 order by le desc) a2
3from
4( select a1,replace(sys_connect_by_path(a2,';'),';',' ') a2,level le from
5
(select rownum rn, a.* from test_5 a order by a1 ) b
6connect by a1=prior a1 and rn=prior rn+1
7 ) c;
A1 A2
---------- --------------------------------------------------------------------------------
AA1 AA2 AA22
AA2 AA3 AA33
SQL> [/B]

^_^, 瓢画的多了, 就会做葫芦了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行