`
wenjinglian
  • 浏览: 824484 次
  • 性别: Icon_minigender_1
  • 来自: 株洲->深圳
社区版块
存档分类
最新评论

oracle 中将 多行值合并成一行

阅读更多

 

例: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某个字段多行记录转化为一行

    根据提供的信息,本文将详细介绍如何在Oracle数据库中将某个字段的多行记录转换为一行记录的方法。这种方法在处理大量数据时非常有用,特别是在需要将多个值汇总到一个字段中的场景下。 ### 标题理解:“oracle某个...

    Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

    在Oracle数据库中,有时我们需要将多个字段值转换为单个字符串,或者将多行记录合并成一行,这在数据处理和报告生成时尤其常见。Oracle提供了多种方法来实现这一目标,包括使用内置函数、PL/SQL过程以及一些高级特性...

    Oracle行转列

    例如,有一个表t_row_col,其中包含多行数据,需要将这些行数据合并成一个字符串数据。 可以使用LISTAGG函数来实现多行转换成字符串,例如: ```sql SELECT LISTAGG(cn || ',' || cv) WITHIN GROUP (ORDER BY id) ...

    Oracle教程.docx

    Oracle 教程 本 Oracle 教程旨在帮助 Oracle 数据库初学者和数据库专业... * DELETE:从表中删除一行或多行 * MERGE:使用单个语句逐步完成插入、更新和删除操作 9. 数据定义 * CREATE TABLE:在数据库中创建新表

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    8.5.2 例1:从前一行中返回一个值 203 8.5.3 理解数据行的位移 204 8.5.4 例2:从下一行中返回一个值 204 8.6 First_value和Last_value 205 8.6.1 例子:使用First_value来计算最大值 206 8.6.2 例子:使用...

    Oracle SQL高级编程 中文版

    《Oracle SQL高级编程》是图灵程序设计丛书数据库系列中的一部重要著作,由资深Oracle专家撰写,并得到了OakTable团队的强力推荐。这本书是Oracle开发人员和DBA提升技能、深入理解Oracle SQL不可或缺的参考资料。它...

    wm_concat函数所需资源包

    `WM_CONCAT`函数是Oracle 10g中引入的一个非标准聚合函数,它允许我们在查询中将多行数据合并为一个字符串。例如,如果你有一个包含员工ID和部门的表,你可以使用`WM_CONCAT`来获取每个部门所有员工ID的列表。其基本...

    oracle_oca最新题库

    - 多表插入命令可以在单个SQL语句中将一行或多行数据插入到多个表中。 - 这种方法能够有效地处理需要根据某些条件将数据插入到不同表的需求,是最适合当前场景的选择。 - **D. 使用 WITH CHECK OPTION 的插入命令 ...

    Oracle 10g OCP 047解析(精简版)

    - **无条件 INSERT ALL**: 用于无条件地将一行或多行数据插入到多个目标表中。 - 示例: 从 `EMPLOYEES` 表中选择 `EMPLOYEE_ID` 大于 200 的员工的 `EMPLOYEE_ID`, `HIRE_DATE`, `SALARY` 和 `MANAGER_ID` 值,并将...

    SQL语句实现对数据库查询结果的行列互换

    当我们要进行行列互换时,通常涉及到的是将某一列的值转换为行,或者将多行数据合并为一列。以下是一些常见的方法: 1. **使用UNION ALL操作符** 如果你希望将多行数据合并成一列,可以使用UNION ALL。假设我们有...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例246 PHP中将上传文件转换成RAR文件 320 实例247 PHP中对RAR文件进行解压 321 实例248 PHP中压缩ZIP文件 322 实例249 PHP中解压ZIP文件 323 4.6 目录操作 323 实例250 目录操作汇总 324 实例251 重新定义目录的...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例246 PHP中将上传文件转换成RAR文件 320 实例247 PHP中对RAR文件进行解压 321 实例248 PHP中压缩ZIP文件 322 实例249 PHP中解压ZIP文件 323 4.6 目录操作 323 实例250 目录操作汇总 324 实例251 重新定义目录的...

Global site tag (gtag.js) - Google Analytics