清结算内部勾兑业务一个比较有意思的问题整理
有段时间没有在博客上发表过内容了,都写在了文档上了,有时间全都整理发表出来,可以让应聘Java高工的同学看下。
今天遇到一个比较有意思的事情给大家说下,有关清结算内部勾兑的事情,你看完之后估计就会学到很多东西,从业务上,技术上和设计方案上都会学到一些,到时候面试官问的时候完全可以拿出来回答面试官的问题(比如问:讲一个你参与设计过的事情?)
技术点:
(1)WMSYS.WM_CONCAT(‘’||'')
表: user
id name transno
1 张三 20
2 李四 20
3 王五 21
sql:select t.transno,WMSYS.WM_CONCAT(t.name||',') as data from user t where t.transno = '20';
结果:
transno data
20 张三,李四
注意 如果这样写sql:select t.transno,t.name|| as data from user t where t.transno = '20';
结果:
transno name
20 张三
20 李四
如果 接下来有一张表stu
是拿着上面sql产生的数据插入到stu表中 transno作为主键 那么用第一条sql就会报错 因为第一次主键是20 第一次再插入一个主键为20就违反了主键约束
(我这边的业务场景是内部勾兑差错表 的主键是平台流水号 即一个平台流水号对应一条内部勾兑差错记录)
(2)
t1 t2
COL1 COL2 COL2 COL3
1 A A A2
2 B B B2
3 C D D2
select t1.col1,t1.col2,t2.col3 from t1,t2 where t1.col2=t2.col2; 内连接 同inner join on
1 A A2
2 B B2
select t1.col1,t1.col2,t2.col3 from t1 left outer join t2 on (t1.col2=t2.col2);左外连接
1 A A2
2 B B2
3 C
select t1.col1,t1.col2,t2.col3 from t1 left join t2 on (t1.col2=t2.col2);
1 A A2
2 B B2
3 C
select t1.col1,t1.col2,t2.col3 from t1 right outer join t2 on (t1.col2=t2.col2);右外连接
1 A A2
2 B B2
D2
select t1.col1,t1.col2,t2.col3 from t1 right join t2 on (t1.col2=t2.col2);
1 A A2
2 B B2
D2
select t1.col1,t1.col2,t2.col3 from t1 full outer join t2 on (t1.col2=t2.col2);全外连接
1 A A2
2 B B2
描述一下:
情景:
集合1 记录a
集合2 记录b
关联字段 id
如 集合1 左外联 集合2
1内连接等同于关联查询
2外连接
(1)左外联 如果集合1中为空 则均为空 如果集合1中不为空 集合2为空 则显示为集合1+null(显示集合2的字段只是只为null)
(2)右外联 同理(1)
(3)全外联 集合1和集合2都有的数据都显示
业务逻辑:
(1)支付 查询支付表 数据格式 平台流水号+清算日期+集合(每一个元素都是一个支付交易)
(2)业务 同理(1)
(3)支付+业务
通过一个数据模型来描述
select 集合1 left join on 集合2 ,集合1 又是一个主单表 left join 业务表 on ,集合2 是一个主单表 left join 业务表 on
集合1如下
当主单表中数据不为空 业务表中数据为空时 则显示主单表数据+null 但由于一个where条件时间的限制 出现的效果是 null
(要理解这个sql 得需要嗅到这一点)
另外一个小的知识点
left join on and 条件1 where 条件
设计方案:
(1)原先
1有一个sql系统函数 效率比较慢
2sql比较长 效率比较低
(2)现在:
1去掉系统函数 拼接字符串 拿到程序中实现
2将长的sql写成几个简短的sql 分别获得集合1 集合2 然后在程序中获得集合3
两个方案的优缺点:
对于这次写博客最大的进步是:之前我只是以为写博客最大的目的是让自己反思 整理 总结,并不太关心读者是否能够看懂,现在我意识到能够说的或写的让读者可以看懂是自己对待写内容更深层次的理解,是更大的锻炼,加油boy,you can do it
清结算内部勾兑业务一个比较有意思的问题整理相关推荐
- 公司内部做的一个分享,有缘人可见
公司内做的一个简单的分享,文章内容是我根据自己讲的还有录音又手撸了一遍,累,口语化的做简单修改. 今天给大家分享一下关于架构和中台的一些东西. 主要会介绍一下中台的来源,这个大家可能都比较清楚,网上的 ...
- 支付系统--清结算概括介绍
一.什么是第三方支付的清结算? 其实清结算是两个过程,一个是清算,一个是结算. 清算是指按照一定的规则和制度安排对经济活动中形成的多重债权债务关系进行货币的结清的过程和行为(参照<网上支付与结算 ...
- 技术节系列 | 支付账务清结算系统设计
点击「京东数科技术说」可快速关注 -- 个人支付清结算团队小伙伴们 「摘要」账务清结算系统属于京东数科支付核心系统,负责记录京东数科客户备付金出入金详情,控制交易不垫资.不挪用客户备付金,保障京东数科 ...
- 支付“清结算”体系的设计方法
支付完成以后进行履约,履约完成以后就需要清算各方利益并最终进行结算,清结算体系与支付体系并行是支付范畴另一个非常庞大的体系. 一.清算系统设计 我们都知道一笔支付最终都是要进行清算的,业务一般都会有众 ...
- 如何打造运营商级的超高清强互动直播业务?
随着5G基站不断开通,5G网络覆盖不断增加,新型技术不断涌现,"元宇宙"概念备受追捧.借助新兴技术和应用创新,企业数字化转型的步伐不断加快. 企业数字化转型,需要利用先进技术构建更 ...
- 一个很有意思的问题: 揭示了计算机程序问题的一般处理思路
2019独角兽企业重金招聘Python工程师标准>>> 一个很有意思的问题: 揭示了计算机程序问题的一般处理思路 === 问题标题: 如何统计汉字的字数? 问题内容: 我想统计: & ...
- 支付平台--清结算流程详解及对账详解
图为清算对账流程 在第三方支付平台拿到银行(应该走专线)给的对账文件后,会有手动对账和自动对账功能. 手动对账是对自动对账的补充,在自动对账出现问题或者出现差错时再人工介入进行重新对账的操作. 而在很 ...
- 金融系列-清结算在支付场景中如何应用
转自:今日头条 @互金大师兄 对于支付行业,清结算可以说是最难理解的业务过程,与所有支付相关的概念都息息相关. 会计基础知识 会计是以货币作为主要计量尺度,对一定单位的经济业务进行计量.记录.汇总和 ...
- 零伽壹链改研究:区块链技术在支付及清结算的变革与创新!
区块链不易篡改.公开透明.可追溯等特性提供了信任机制,与金融行业各业务场景的需求,例如,安全性.稳定性.隐私性.可监管性等高度契合,因此具备改变金融基础架构的潜力.区块链凭借其自身的特点,在支付和清结 ...
最新文章
- java面向对象认定的特征_Java面向对象的三大特征(一)
- python爬虫从入门到精通-Python爬虫从入门到精通视频(2018新版)
- GridView添加自动编号列
- boost::spirit模块实现一个以逗号分隔的数字列表的生成器的测试程序
- 整数反转—leetcode7
- linux screen 进程,screen 命令使用
- 机器学习——深度学习之卷积神经网络(CNN)——LeNet卷积神经网络结构
- 单件模式(单例模式)
- mysql建库需要权限吗_mysql 建库报匿名用户权限错误
- 信息学奥赛一本通 1155:回文三位数
- 牛客OI周赛2-提高组
- 【求助】测试XCode v8.0的正向反向功能
- UVA11038 How Many O's?题解
- kubernetes 查看pod在哪个node节点运行
- 评委打分表模板_杭州爸爸自制《奖惩表》火遍网络:请好好爱那个写作业的小孩...
- 最火大厂面试题、面试技巧汇总及简历编写(附简历模版下载)
- 有道云笔记中轻松驾驭职场框架图
- 测试你适合的发型软件叫什么,有没有测试发型的app 测试自己适合什么发型
- LaTex练习日记02 —— 字体设置
- 表格维护生成器-部分字段不能修改或不能看见