两行合并一行的oracle,ORACLE实现多行合并一行的SQL写法

ORACLE实现多行合并一行的SQL写法

项目中遇到一个需求,需要将多行合并为一行。

表结构如下:

NAME                            Null           Type

------------------------   ---------   -----

N_SEC_CODE                 NOT NULL  CHAR(6)

C_RESEARCHER_CODE   NOT NULL  VARCHAR2(20)

此表保存了“股票”与“研究员”的对应关系数据,一般而言,对于同一只股票而言,可能有多个研究员

对其进行跟踪研究。所以目前遇到一个要求,需查询出每只股票和对应的研究员(研究员代码间,使用逗号分隔)。

例如有如下数据:

000297                                    chenpeng

000297                                    liusu

合并处理后需显示为:

000297                                    chenpeng,liusu

网上查了很多方法,但通常而言都是编写自定义多行文本合并函数,或者对支持的列数具有局限性。

最后在英文google中搜到如下比较巧的方法。不用在数据库中增加function,纯SQL一次性搞定,

而且扩充性很好,没有列的限制。

主要SQL如下:

SELECT   n_sec_code, TRANSLATE (LTRIM (text, '/'), '*/', '*,') researcherList

from (SELECT ROW_NUMBE

相关文档:

清空日志

1.打开查询分析器,输入命令

DUMP TRANSACTION 数据库名 WITH NO_LOG

2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

......

分页sql查询在编程的应用很多,主要有存储过程分页和sql分页两种,我比较喜欢用sql分页,主要是很方便。为了提高查询效率,应在排序字段上加索引。sql分页查询的原理很简单,比如你要查100条数据中的30-40条,你先查询出前40条,再把这30条倒序,再查出这倒序后的前十条,最后把这十条倒序就是你想要的结果。

&nbsp ......

今天总结下oracle的任务队列管理器(job queue ),以后也方便查询.

我们要做定时任务时,有两种办法

一种是: 操作系统的定时,win的定时任务,unix的crontab

一种是: 数据库级的定时,她的效率更高,

再有大量的表级操作时,建议用数据库本身的job queue,这样方便,效率高;如果用系统级定时,

会增加很多编程工作,成本增加 ......

在一个表中,其中几个字段的值是一样的,按照这几个字段进行分组并合并数据。

表A     id     name         role

1     张三    &nb ......

Oracle

一、数据库语言:

DCL:数据库控制语言(如事务...)

DQL:数据库查询语言(select...)

DDL:数据库定义语言(create)

DML:数据库操作语言(更新....)

二、Oracle版本:

Oracle8I   i:互联网

Oracle10g g:网格:把复杂的问题分布处理,最后把结果综合成最总结果

把复杂的问题分布处理,最后把结果综� ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值