oracle从各个表取得数据保存到另一个表

从各个表中取得数据保存另一个表中:

CREATE VIEW

PARAMETER_view AS

WITH

tall AS

(

SELECT

p.PI_NO,--产品序列号

p.SERIALNO,--产品编号

p.PI_NAME,--产品名称

p. PI_START_DATE,--产品起息日

p.PI_END_DATE,--产品期日期

p.PI_CUSTOMER_YIELD/100 PI_CUSTOMER_YIELD, --产品收益率

a.AI_NO, --资产序列号

a.CAS_ASSETS_NA,--资产的名称

a.DONO,--资产的编码

a.CAS_ISSUE_SUM,--资产发行金额

a.CAS_YIELD_RATE/100 CAS_YIELD_RATE, --资产收益率

a.CAS_VALUE_DATE , --资产起息日

a.CAS_DUE_DATE , --资产到期日期

NVL(FeeNum,0) FeeNum,--其他费用

NVL(FeeRate,0) FeeRate,--其他费率

NVL(fmfee,0) fmfee, --累计浮动管理费

NVL( fmfee3/100,0) fmfee3, --浮动管理费

NVL(ct.FEERATIO/100,0) FEERATIO, --产品的托管费

NVL( cg.cgrate/100,0) cgrate , --产品的管理费

NVL( atrate/100,0) atrate,--资产的托管费

NVL( agrate/100,0) agrate ,--资产的管理费

NVL( cgrates/100,0) cgrates ,--产品的投顾费

NVL( agrates/100,0) agrates ,--资产的投顾费

gl_date, --交易日期

floor(SYSDATE-to_date(PI_START_DATE,'yyyy-mm-dd hh24:mi:ss')) pflday,--产品累加天数

floor(SYSDATE-to_date(CAS_VALUE_DATE,'yyyy-mm-dd hh24:mi:ss')) aflday--资产累加天数

FROM

GL_PRODUCTASSETS g

LEFT JOIN

Product_info p

ON

g.PBS_MAINPRO_NO=p.PI_NO

LEFT JOIN

ASSETS_INFO a

ON

g.CAS_ASSETS_NU=a.AI_NO

LEFT JOIN

(

SELECT

productid,

SUM(FMFEE) fmfee

FROM

PRODUCT_FMFEE

GROUP BY

productid ) f

ON

g.PBS_MAINPRO_NO=f.PRODUCTID

LEFT JOIN

(

SELECT

FEERATIO fmfee3,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

FEETYPE='浮动管理费' ) f2

ON

p.PI_NO=f2.FEEOBJECTNO

LEFT JOIN

(

SELECT

*

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='托管费') ct

ON

p.PI_NO=ct.FEEOBJECTNO

LEFT JOIN

(

SELECT

sum( FEERATIO) cgrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='管理费' group by FEEOBJECTNO ) cg

ON

p.PI_NO=cg.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO cgrates ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='投顾费') cgg

ON

p.PI_NO=cgg.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO atrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='托管费') att

ON

a.AI_NO=att.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO agrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='管理费') ag

ON

a.AI_NO=ag.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO agrates ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='投顾费') agg

ON

a.AI_NO=agg.FEEOBJECTNO

LEFT JOIN

(

SELECT

SUM( FEERATIO ) FeeNum,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE NOT IN ('托管费',

'投顾费',

'管理费',

'浮动管理费')

AND FEERATIO>1

GROUP BY

FEEOBJECTNO

) fs

ON

a.AI_NO=fs.FEEOBJECTNO

LEFT JOIN

(

SELECT

SUM( FEERATIO ) FeeRate,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE NOT IN ('托管费',

'投顾费',

'管理费',

'浮动管理费')

AND FEERATIO<1

GROUP BY

FEEOBJECTNO

) fss

ON

a.AI_NO=fss.FEEOBJECTNO

WHERE

G.GL_STATE=1

)

SELECT

ta.*,

(a_day_receive+p_day_manage+p_day_tm+p_day_tes-p_day_receive-a_day_manage-a_day_tm-a_day_tes+

fmfee3+FeeNum) all_get

FROM

(

SELECT

PI_NO,

PI_NAME,

PI_CUSTOMER_YIELD*CAS_ISSUE_SUM/365 p_day_receive, --产品编号,产品名称,产品每日收益

PI_CUSTOMER_YIELD*CAS_ISSUE_SUM/365*pflday p_all_receive, --起息日到当天的累计

cgrate*CAS_ISSUE_SUM/365 p_day_manage, --产品当天管理费

cgrate*CAS_ISSUE_SUM/365*pflday p_all_manage, --产品累计管理费

FEERATIO*CAS_ISSUE_SUM/365 p_day_tm, --产品当天托管费

FEERATIO*CAS_ISSUE_SUM/365*pflday p_all_tm, --产品累计托管费

CAS_ASSETS_NA,CAS_YIELD_RATE*CAS_ISSUE_SUM/365 a_day_receive, --资产编号,资产名称,资产每日收益

CAS_YIELD_RATE*CAS_ISSUE_SUM/365*aflday a_all_receieve, --资产起息日到当天的累计

agrate*CAS_ISSUE_SUM/365 a_day_manage, --资产当天管理费

agrate*CAS_ISSUE_SUM/365*aflday a_all_manage, --产品累计管理费

atrate*CAS_ISSUE_SUM/365 a_day_tm, --资产当天托管费

atrate*CAS_ISSUE_SUM/365*aflday a_all_tm, --资产累计托管费

'0' tdfee,

'0' tdallfee,

fmfee3,

cgrates*CAS_ISSUE_SUM/365 p_day_tes,--产品当天投顾费

cgrates*CAS_ISSUE_SUM/365*pflday p_all_tes,--产品累计投顾费

agrates*CAS_ISSUE_SUM/365 a_day_tes,--资产当天投顾费

agrates*CAS_ISSUE_SUM/365*aflday a_all_tes, --资产累计投顾费

FeeNum --其他费用

FROM

tall) ta ;

SELECT

DECODE(gl_date,a.CAS_VALUE_DATE, p.PI_NO , p.PI_NAME )

FROM

GL_PRODUCTASSETS g

LEFT JOIN

Product_info p

ON

g.PBS_MAINPRO_NO=p.PI_NO

LEFT JOIN

ASSETS_INFO a

ON

g.CAS_ASSETS_NU=a.AI_NO

LEFT JOIN

(

SELECT

productid,

SUM(FMFEE) fmfee

FROM

PRODUCT_FMFEE

GROUP BY

productid ) f

ON

g.PBS_MAINPRO_NO=f.PRODUCTID

LEFT JOIN

(

SELECT

productid,

SUM(FMFEE) fmfee3

FROM

PRODUCT_FMFEE

WHERE

INPUTDATE = TO_CHAR(SYSDATE,'YYYY/MM/DD')

GROUP BY

productid) f2

ON

g.PBS_MAINPRO_NO=f2.PRODUCTID

LEFT JOIN

(

SELECT

*

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='托管费') ct

ON

p.PI_NO=ct.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO cgrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='管理费') cg

ON

p.PI_NO=cg.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO cgrates ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Product'

AND FEETYPE='投顾费') cgg

ON

p.PI_NO=cg.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO atrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='托管费') att

ON

a.AI_NO=att.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO agrate ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='管理费') ag

ON

a.AI_NO=ag.FEEOBJECTNO

LEFT JOIN

(

SELECT

FEERATIO agrates ,

FEEOBJECTNO

FROM

PRODUCT_COST_INFO

WHERE

feeobjecttype='Asset'

AND FEETYPE='投顾费') agg

ON

a.AI_NO=ag.FEEOBJECTNO

WHERE

G.GL_STATE=1

然后把这个视图数据保存到你要保存的表:

insert into (和视图的列要对应的列名)表A(select *  from 视图表)

oracle单表存储记录,oracle从各个表获得数据保存到另一个表相关推荐

  1. oracle将表导入到表空间,关于ORALCE一个表空间的数据导入到另一个表空间的方法(原创)...

    用户:   whnaproject     所属表空间: whnaproject 新用户   : wniec            所属新表空间: wniec 要求:将用户whnaproject中的数 ...

  2. oracle怎么查询和插入表,Oracle查询一个表的数据插入到另一个表

    1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert ...

  3. oracle把一个表的数据复制到另一个表中

    1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert ...

  4. SQL语句 怎么把一个表的数据复制到另外一个表里面

    SQL语句 怎么把一个表的数据复制到另外一个表里面 SQL语句 怎么把一个表的数据复制到另外一个表里面   匿名 | 浏览 68087 次  我有更好的答案 推荐于2017-09-08 01:16:4 ...

  5. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  6. MySQL 数据库怎样把一个表的数据插入到另一个表

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

  7. postsql将一个表数据插入到另一个表

    postsql从一个表将数据复制到另一个表中,sql语句如下: INSERT INTO table_A (column_1,column_2,column_3) SELECT column_1,col ...

  8. python excel 数据匹配_python将一个excel表格的数据匹配到另一个表中

    python将一个excel表格的数据匹配到另一个表中 python将一个excel表格的数据匹配到另一个表中 打开excel表,需要在另一个表中匹配相应学生姓名的学号信息. 之前尝试了excel中的 ...

  9. 如何在另一个表格进行计算机,如何将一个excel表格的数据匹配到另一个表中

    日常生活办公,计算机二级考试需要用到Excel,能够熟练使用Excel可以为自己处理数据表格带来极大的帮助,本文就"如何将一个excel表格的数据匹配到另一个表中"的方法进行一个详 ...

最新文章

  1. nginx服务器安全,要注意的地方
  2. mysql数据的引用_MySQL数据库入门:mysql操作和程序引用
  3. 【ArcGIS微课1000例】0005:空间连接(Spatial Join)
  4. Python 线程事件 Event - Python零基础入门教程
  5. telnet远程登陆、mstsc远程控制、SSH之间的比较和区别
  6. solaris php,在Solaris 10 64位上配置PHP
  7. vaex 处理海量数据_爱了爱了!0.052 秒打开 100GB 数据,这个Python开源库火爆了!...
  8. ef mysql 分页查询语句_MySQL、Oracle和SQL Server的分页查询语句
  9. Three.js视频教程
  10. 码云html页面预览,码云,正式支持 Pages 功能,可以部署静态页面
  11. 我看谷歌为啥要退出中国市场
  12. JAVA - 银行卡认证
  13. 母亲节,表格交给我们,你早点回家
  14. ftp服务器文件不显示,ftp服务器不显示文件夹大小
  15. 解决安装vmware以后,系统服务增多,系统变慢的问题。
  16. android 锁的使用教程,Android中对象锁
  17. uilable 上面加子视图图
  18. Mac 安装MySQL到移动硬盘
  19. Excl2016密码忘记 破解办法
  20. GB9706.1-2007名词解释:电气间隙、爬电距离,绝缘、接地等

热门文章

  1. 宇视硬盘录像机onvif_视频监控系统中强大的录像机,兼容不同品牌,看看有哪些监控厂家...
  2. php数组foreach循环添加键值对_循环 - PHP二维数组根据键值对获取一组数组 (不使用foreach)...
  3. ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
  4. oracle ndv,CBO_ORACLE
  5. Python Pytest前置setup和后置teardown详解
  6. 【Python】字典dict类型转换为列表list类型
  7. 【OpenCV学习笔记】2.1OpenCV基本数据类型
  8. Mybatis主线流程源码解析
  9. Docker:单机编排工具docker-compose [十二]
  10. linux的一些基本命令