例:field1 field2
A 1
A 2
A 3
用一条sql语句查询成:
field1 all
A 1,2,3,
大家一起动脑思考吧。
oracle实现:
--运用oracle系统函数 oracle在10g或以上版本
create table tab1(a varchar2(16),b varchar2(16));
insert into tab1 values('a','1');
insert into tab1 values('a','2');
insert into tab1 values('a','3');
insert into tab1 values('b','4');
insert into tab1 values('b','5');
commit;
SELECT a ,WMSYS.WM_CONCAT(b)
FROM tab1
GROUP BY a;
--结果
1 a 1,2,3
2 b 4,5
注:WMSYS.WM_CONCAT支持的字符串的最大长度是4000
详见:http://www.iteye.com/topic/774205
oracle10g以前实现方式:http://ycscsjj-126-com.iteye.com/blog/626104
分享到:
相关推荐
Oracle多行记录合并/连接/聚合字符串的几种方法
oracle10g,9i多行合并一行函数
SQL语句用with将列分割成多列存为临时表,再将多行某个字段拼接合并为一行
oracle纯SQL语句多行合并一行,中间用“,”隔开,方便快速的显示在页面上
本文实例讲述了oracle实现多行合并的方法。分享给大家供大家参考。具体分析如下: 在写sql时,经常会有将某列的字段合并起来,比如将某人名下每个月的工资列示,但是每个人只能占一行。 像这种场景,可能用行列转换...
多行记录合并 采用的是方法4,希望对你们有用
oracle某个字段多行记录转化为一行,oracle某个字段多行记录转化为一行。
1.被集合字段范围小且固定型 灵活性 性能 难度 2.固定表固定字段函数法 灵活性 性能 难度 3.灵活表函数法 灵活性 性能 难度 4.一条SQL法 灵活性
oracle数据库一行拆成多行.sql
Oracle插入多行实例,简单介绍了oracle插入多行的实例
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。
oracle 某列存儲的值是有逗號的字符串,希望通過逗號分隔開來顯示多行。sql,有預期結果,有項目實戰。
Oracle 分割字符串 返回多行数据
NULL 博文链接:https://czjxdm.iteye.com/blog/466948
比如一个字段'11,22,22,33,44',一个查询语句显示成4行,就可以这样来实现。 11 22 22 33 44
存在多张不同表空间,这时候需要把所有的表空间都合并成一个表空间
不做详解,直接上图。 SELECT T.NAME, T.TESTSTR FROM TEST2 T; SELECT DISTINCT T.NAME, REPLACE(REGEXP_SUBSTR(T.TESTSTR, '[^,]+', 1, LEVEL), ',', ' ') TESTSTR FROM TEST2 T WHERE 1 = 1 ...