PLSQL提取数据并将两行或多行数据进行汇总,如下例:

数据: 列1,列2
A 红包
B 奖金
C 工资
A 奖金
A 工资
C 红包
如何才可以得出只有三行:
A 红包-奖金-工资
B 奖金
C 工资-红包

用wmsys.WM_CONCAT函数可以得到你要的效果:
select 列1
,replace(wmsys.WM_CONCAT(列2),',','-')
from 表
group by 列1追问

我试用后,返回值为(CLOB)是怎么回事?

追答

可能是Oracle数据库版本11.2.0.3(含)以上,WM_CONCAT
返回的是CLOB。你中标了吗?

追问

还有没有更好的办法。

追答

自己写个自定义的WM_CONCAT,怎么做可以参考:

http://www.itpub.net/thread-1332147-1-1.html

温馨提示:内容为网友见解,仅供参考
无其他回答

PLSQL提取数据并将两行或多行数据进行汇总,如下例:
select 列1 ,replace(wmsys.WM_CONCAT(列2),',','-')from 表 group by 列1

SQL语句执行过程详解
而直接执行 SQL 语句,提高 SQL 语句处理效率。第三步:语句执行语句解析只是对 SQL 语句的语法进行解析,以确保服务器能够知道这条语句到底表达的是什么意思。等到语句解析完成之后,数据库服务器进程才会真正的执行这条 SQL 语句。这个语句执行也分两种情况。一是若被选择行所在的数据块已经被读取到数据缓冲区的话,...

用plsql怎么将从一个表里筛选出来的数据直接导入另一个表里
也可以先建空表,再插入数据 ,但这表结构要与查询结果一致create table b (...);insert into b select ...; 本回答由电脑网络分类达人 郭强推荐 举报| 答案纠错 | 评论(1) 0 2 wcnmlggcp 采纳率:68% 来自:芝麻团 擅长: 电脑装机\/选购 系统软件 羽毛球 其他回答 insert into b (col1,col2)sele...

PLSQL连接Oracle数据库详细教程
1. 安装PLSQL从提供的链接下载对应版本的PLSQL安装包,注意选择32位或64位版本,与你的系统对应。安装过程简单,只需一键完成。2. 安装Oracle客户端Oracle客户端包含动态库,解压到相应目录(如F:\\soft\\setup\\oracle\\instantclient_11_2)。创建tnsnames.ora文件,配置数据库连接信息,包括连接名、IP地址...

数据库分为哪几种版本
Sql Server 2). Access 3). Oracle 4). Sy *** ase 5). MySql 6). Informix 7). FoxPro 8). PostgreSQL 9). IBM 的DB2 问题五:网站数据库可以分为几种? 要我来分,我会分为两大类:常规和非常规 常规数据库,是一套完整的,拥有自己的存取机制、SQL语句预处理机制等的一套程序。

BI主要掌握什么?
BI 应用的两大类别是信息类应用 和 知识类应用,其特征如下表所示: 信息类 BI 应用: 指由原始数据加工而来的数据查询、报表图表、多维分析、数据可视化等应用,这些应 用的共同特点是:将数据转换为决策者可接受的信息,展现给决策者。 例如将银行交易数据加工为银行财务报表。 仅负责提供信息,而不会主动去分析...

相似回答