一分多行列转换(Gbase版)

news2024/11/16 2:55:48

1、源数据表结构

CREATE TABLE "sf_ref_pd_config" (
  "I_BATCH_NO" decimal(5,0) DEFAULT NULL COMMENT '批次ID',
  "V_ASSET_CLASS_NAME" varchar(200) DEFAULT NULL COMMENT '资产类型',
  "N_EXEC_ID" decimal(5,0) DEFAULT NULL COMMENT '执行排序',
  "N_PD_ID" decimal(10,0) DEFAULT NULL COMMENT 'PD_ID',
  "V_FIELD1_BUSINESS_TYPE" varchar(2000) DEFAULT NULL COMMENT '业务品种'
) ENGINE=EXPRESS REPLICATED  DEFAULT CHARSET=utf8 TABLESPACE='sys_tablespace' COMMENT='PD映射人工配置';

2、插入测试数据

INSERT INTO ifrs10.sf_ref_pd_config (I_BATCH_NO,V_ASSET_CLASS_NAME,N_EXEC_ID,N_PD_ID,V_FIELD1_BUSINESS_TYPE) VALUES 
(4,'信用卡',NULL,2,'1110160')
,(5,'零售信贷',NULL,2,'1110090,1110160,1110161,1110380')
,(5,'信用卡',NULL,3,'1110084,1110086,1110089,1110360')
,(4,'零售信贷',NULL,3,'1110030,1110084,1110086')
,(1,'信用卡',NULL,3,'1110071,1110082,1110087,1110088,1110100,1110110,1110120,1110140,1110370,1110410,1110755,1110760,1110765,1110940,1110950,1110050,1110055,1110090,1110161,1110380')
,(6,'零售信贷',NULL,1,'1110050')
,(6,'信用卡',NULL,3,'1110360')
,(1,'零售信贷',NULL,1,'1110050')
;

3、新建关联表并插入大于逗号分隔符中的数据

create table xx_sequence(id int);

-- 插入数据(列数要大于逗号分隔符中的数据

insert into xx_sequence 
 select rowid from ex_ods_bond_credit;

4、行列转换查询

SELECT N_PD_ID,
       I_BATCH_NO,
       V_ASSET_CLASS_NAME,
       SUBSTRING_INDEX(SUBSTRING_INDEX(A.V_FIELD1_BUSINESS_TYPE,',',id+1),',',-1) col_new 
 FROM sf_ref_pd_config a 
 inner join xx_sequence tl 
 on t1.id < LENGTH(A.V_FIELD1_BUSINESS_TYPE)-LENGTH(REPLACE(A.V_FIELD1_BUSINESS_TYPE,',',''))+1;

5、后记

逗号分隔字符数据的又一种行列转换方式,脚本是源于Gbase数据库的,应该同样适用于Oracle。

附(原始SQL):
SELECT 
    I_BATCH_NO,V_ASSET_CLASS_NAME,N_PD_ID,SUBSTRING_INDEX(SUBSTRING_INDEX(A.V_FIELD1_BUSINESS_TYPE,',',id+1),',',-1) AS num 
FROM 
    (select I_BATCH_NO,V_ASSET_CLASS_NAME,N_PD_ID,V_FIELD1_BUSINESS_TYPE from sf_ref_pd_config  ) A join 
    t1  WHERE 
    t1.id < LENGTH(A.V_FIELD1_BUSINESS_TYPE)-LENGTH(REPLACE(A.V_FIELD1_BUSINESS_TYPE,',',''))+1 ;
及内网SQL图片:

关联文章:一分多行列转换(逗号分隔的一列数据转换成多行)-CSDN博客

一分多行列转换-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1961048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pyjwt:Python 中的 JWT 处理专家

文章目录 探索 pyjwt&#xff1a;Python 中的 JWT 处理专家简介&#xff1a;为何选择 pyjwt&#xff1f;什么是 pyjwt&#xff1f;安装 pyjwtpyjwt 的基本使用1. 编码JWT2. 解码JWT3. 验证签名4. 过期时间5. 自定义头部 场景应用场景一&#xff1a;用户登录场景二&#xff1a;A…

深度学习的数据类型总结

文章目录 1.基本概念1.比特&#xff08;bit&#xff09;&#xff1a;2. **字节**&#xff08;Byte&#xff09;:2. **数据类型**: 2. 相互转化 1.基本概念 1.比特&#xff08;bit&#xff09;&#xff1a; 计算机中最小的数据存储单位&#xff0c;用 0 和 1 表示。信息传输速…

python制作一个AI聊天机器人-【python教程】教你用python制作一个AI聊天机器人,源码可分享,零基础也能实现!

要制作一个基本的AI聊天机器人&#xff0c;我们可以使用Python的多个库&#xff0c;其中一个非常流行且易于上手的是Rasa。一个简单的入门示例&#xff0c;我们可以使用pyttsx3&#xff0c;是一个Python库&#xff0c;用于将文本转换为语音。 它提供了一个简单易用的接口&#…

【ThingsBoard初体验】本地运行源码踩坑记录

前言 运行源码之前&#xff0c;请先编译源码。这很重要&#xff01;&#xff01;&#xff01; 官网源码编译教程&#xff1a;http://www.ithingsboard.com/docs/user-guide/contribution/yuanmabianyi/ 如果编译过程中出现报错&#xff0c;请看我上一篇文章&#xff1a;【Thing…

《LeetCode热题100》---<滑动窗口篇两道>

本篇博客讲解LeetCode热题100道滑动窗口篇中的两道题 第一道&#xff1a;无重复字符的最长子串 第二道&#xff1a;找到字符当中的所有字母异位词 第一道&#xff1a;无重复字符的最长子串 哈希滑动窗口 class Solution {public int lengthOfLongestSubstring(String s0) {int…

nginx出现Refused to apply inline style because it violates

Content Security Policy的错误。根据错误提示&#xff0c;nginx拒绝应用内联样式&#xff0c;因为它违反了内容安全策略&#xff08;Content Security Policy&#xff09;。内容安全策略是一种浏览器机制&#xff0c;用于防止潜在的安全漏洞&#xff0c;通过限制从外部来源加载…

初步入门C ++之继承的概念

继承 ​ 继承&#xff0c;他的功能就如同他的名字一样&#xff0c;可以继承一个类的数据和方法&#xff0c;然后增添一些自己独有的数据和方法&#xff1a; 根据我们之前讲解初步入门C之类的例子&#xff0c;假如我们现在有一个长方体的类&#xff0c;它和长方型类唯一不一样…

屏幕录制与视频编辑的新纪元Camtasia Studio 2024

在数字化时代&#xff0c;视频已成为我们日常工作和生活中不可或缺的一部分。无论是教育、培训、营销还是娱乐&#xff0c;高质量的视频内容都发挥着至关重要的作用。而提到屏幕录制和视频编辑软件&#xff0c;Camtasia Studio无疑是一个家喻户晓的名字。随着2024年新版本的发布…

【Vue3】自定义组件

【Vue3】自定义组件 背景简介开发环境开发步骤及源码 背景 随着年龄的增长&#xff0c;很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来&#xff0c;技术出身的人总是很难放下一些执念&#xff0c;遂将这些知识整理成文&#xff0c;以纪念曾经努力学习奋斗的日子。本文…

Java基本语法学习的案例练习

本文是在学习过C语言后&#xff0c;开始进行Java学习时&#xff0c;对于基本语法的一些案例练习。案例内容来自B站黑马编程课 1.HelloWorld 问题介绍;请编写程序输出“HelloWorld”. public class HelloWorld { public static void main(String[] args) { System.out.print…

树状机器学习模型综述(含python代码)

树状机器学习模型综述 树状模型是机器学习中一种非常重要的算法类别&#xff0c;因其直观的结构和良好的可解释性而广泛应用于分类和回归任务。本文将综述几种常见的树状模型&#xff0c;包括决策树、随机森林、LightGBM、XGBoost和CatBoost&#xff0c;讨论它们的原理、用途以…

高品质定制线缆知名智造品牌推荐-精工电联:高压线缆行业定制服务的领航者

定制线缆源头厂家推荐-精工电联&#xff1a;高压线缆行业定制服务的领航者 在当今这个高度信息化的社会&#xff0c;电力传输与分配系统的稳定运行至关重要。作为连接各个电力设备的纽带&#xff0c;高压线缆的质量直接关系到电力系统的安全性和稳定性。在定制高压线缆行业中&a…

【RK3568】点亮eDP屏幕+双屏异显

一、驱动eDP屏幕 一般来说&#xff0c;屏幕的规格书中会找到屏幕的相关参数&#xff0c;如没有&#xff0c;也可直接找屏幕厂商要&#xff0c;首先打开屏幕的规格书&#xff0c;搜索EDID Table&#xff0c;可找到如下信息&#xff1a; &#xff08;1&#xff09;显示时序配置 将…

越是熟人之间,越要注意这三个方面

不管什么时候&#xff0c;不管与谁相处&#xff0c;社交的边界和底线永远都是不变的。 对待陌生人的时候&#xff0c;我们总会按照既定的章法和礼节行事&#xff0c;可是在对待熟人的时候&#xff0c;很多人却忘了这些章法和礼节。虽然彼此熟悉了&#xff0c;不需要那么在乎章…

狗都能看懂的Imitation Learning的讲解

上一篇博客讲述了奖励稀疏时的训练方法。实际场景中&#xff0c;可能难度还会更大一些。很多场景很难有一个明确的reward&#xff0c;甚至没有reward。那么这里就提出模仿学习&#xff0c;即agent模仿expert的操作。具体两个方法是&#xff1a;Behavior Cloning、Inverse Reinf…

从0到100:旅拍小程序开发笔记(上)

背景调研 旅拍店或者摄影师可以在小程序上设置自己的可预约时间&#xff0c;价格&#xff0c;拍摄介绍&#xff0c;并定义不同的套餐(服装套数&#xff0c;底片张数&#xff0c;精修数量&#xff0c;取景风格&#xff0c;套餐价格等)&#xff0c;顾客可以根据套餐内容和日程安…

定制化Windows系统

定制化Windows系统 1、定制化需求介绍 预定义安装常用软件的原版操作系统&#xff0c;节省花费的时间。定制前提&#xff0c;你需要1块硬盘、1台&#xff08;2台&#xff09;测试电脑、一个PE盘&#xff08;wepe最好&#xff09;&#xff0c;原版系统镜像&#xff0c;虚拟光驱…

鸿蒙应用框架开发【选择并查看文档与媒体文件】 本地数据与文件

选择并查看文档与媒体文件 介绍 应用使用ohos.file.picker、ohos.file.fs等接口&#xff0c;实现了picker拉起文档编辑保存、拉起系统相册图片查看、拉起视频并播放的功能。 效果预览 使用说明&#xff1a; 在首页&#xff0c;应用显示查看最近打开文件功能的跳转按钮&…