oracle记录合并,Oracle多行记录合并处理

1:效果如下图所示:

5b9458ffce4c4bc7bfaaeb321eb84b06.png

表T1:

CREATE TABLE T1

(

WEEKWORKID VARCHAR2(20) ,

DD VARCHAR2(20)

)

表T2

CREATE TABLE T2

(

WEEKWORKID VARCHAR2(20) ,

NR VARCHAR2(20)

)

SQL语句:

select t2.weekworkid,t2.nr,T.dd

from t2

left join (

-- 4筛选结果集

select weekworkid,max(substr(dd,2))dd

from(

-- 3使用sys_connect_by_path生成结果集

select weekworkid,sys_connect_by_path(dd,',')dd

from(

-- 2创建子节点与父节点

select weekworkid,dd,weekworkid||rn rchild,weekworkid||(rn-1)rfather

from(

-- 1对记录添加序号

select t1.weekworkid,t1.dd,row_number()

over(partition by t1.weekworkid order by t1.dd) rn

from t1

where t1.weekworkid in(

select weekworkid from t2

)

)

)connect by prior rchild = rfather start with rfather like '%0'

) group by weekworkid

)T on t2.weekworkid=T.weekworkid

order by weekworkid

运行结果:

15b40d39f2d098c2174e3fcbd61f94ab.png

Oracle多行记录合并的几种方法

今天正好遇到需要做这个功能,顺手搜了一下网络,把几种方法都列出来,方便以后参考. 1 什么是合并多行字符串(连接字符串)呢,例如: SQL> desc test; Name Type Nulla ...

Oracle多行记录合并自定义函数

在oracle数据库中,进行字段合并,可以使用wm_concat(column)函数,但是在这种方法不被Oracle所推荐,因为WMSYS用户用于Workspace Manager,其函数对象可能因版 ...

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

怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结.-什么是合并多行字符串(连接字符串)呢,例如: SQL&g ...

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

怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结.   什么是合并多行字符串(连接字符串)呢,例如:SQL& ...

oracle 多行数据合并一行数据

在工作中遇见的oracle知识,多行合并成一行,记录一下 1.取出需要的数据,代码: (SELECT to_char(m.f_meetdate, 'yyyy-MM-dd'), decode(nvl(m ...

oracle ORA_ROWSCN 行记录的更新时间

在这介绍两个oracle 10G开始提供的一个伪列ORA_ROWSCN,它又分为两种模式一种是基于block,这是默认的模式,还有一种是基于row上,这种模式只能在建里表时指定ROWDEPENDENC ...

Oracle之多行记录变一行记录,行变列,并排序(wmsys.wm_concat)

原帖:http://www.cnblogs.com/nayitian/p/3231734.html wmsys.wm_concat Definition: The Oracle PL/SQL WM_C ...

Oracle数据库多行记录转换一行并排序函数

Oracle数据库多行记录转换一行并排序方法 在ORACLE数据库查询中,我们通常会要求用到将多行记录转换成一行并排序,这时候我们自然会想到Oracle的一个“wx_concat”函数,可以将多行记录 ...

SQLLoader7(只导入数据文件的其中几行记录)

数据文件: D:\oracletest\test1.txt SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN ...

随机推荐

MYSQL 开发技巧

主要涉及:JOIN .JOIN 更新.GROUP BY HAVING 数据查重/去重 1 INNER JOIN.LEFT JOIN.RIGHT JOIN.FULL JOIN(MySQL 不支持).CR ...

第一次react-native项目实践要点总结

今天完成了我的第一个react-native项目的封包,当然其间各种环境各种坑,同时,成就感也是满满的.这里总结一下使用react-native的一些入门级重要点(不涉及环境).注意:阅读需要语法基础 ...

实时控制软件设计 第二次作业 myRobot

#include #include #include #include

用sql取出来的list需要处理成map的两种情况

1. 原生sql: select a.id,a.name from a SQLQuery sqlQuery=this.getSession().createSQLQuery(sb.toString() ...

jQuery弹出层插件popbox

都什么年代了,还自己写弹出层插件!是的,①自己写的自己好控制②可定制性高③兼容低版本IE 本插件有以下特性: 样式分离,可定制,纯净无图片 可自定义按钮及按钮的样式.点击事件 可指定选择器选择页面元素 ...

CodeForces 149D Coloring Brackets

Coloring Brackets time limit per test: 2 seconds memory limit per test: 256 megabytes input: standar ...

让Fiddler能够检测到localhost的http数据

用 vs.net开发调试网站程序时经常有这样的地址: http://localhost:2033/ 然而在开启 Fiddler 后会发现Fiddler 完全抓不到任何封包. 主要的原因是因为 Fidd ...

java 的序列化和反序列化的问题

引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口, ...

homebrew 更改镜像,进行成功安装

在mac系统中,使用homebrew可以很方便的管理包.按照官网的说明执行以下命令时总是报错: /usr/bin/ruby -e "$(curl -fsSL https://raw.gith ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值