在oracle中
实现如下
有下表: 单位名称 收费类别
1 a
1 b
1 d
3 a
3 b
3 c
要求查询结果显示如下 单位名称 收费类别
1 a,b,d
3 a ,b,c
这个语句用select怎么写?
实现如下
有下表: 单位名称 收费类别
1 a
1 b
1 d
3 a
3 b
3 c
要求查询结果显示如下 单位名称 收费类别
1 a,b,d
3 a ,b,c
这个语句用select怎么写?
调试欢乐多
insert into t2 values('1','b');
insert into t2 values('1','d');
insert into t2 values('3','a');
insert into t2 values('3','b');
insert into t2 values('3','c');
select * from t2;
select a,substr(max(sys_connect_by_path(b,',')),2) as b from (
select a,b,row_number()over(partition by a order by b) as rn from t2
)
start with rn=1
connect by rn-1=prior rn and a=prior a
group by a;
将多行中的列连接,用 sys_connect_by_path
学习了
赞一个,可以用这个方法可以参看我学习sys_connect_by_path的一个例子
http://blog.csdn.net/inthirties/archive/2009/07/08/4331685.aspx
select col1,wmsys.wm_concat(col2) from tablename group by col1;