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

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从各个表取得数据保存到另一个表的更多相关文章

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

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

  2. 【转载】SQL语句将一个表的数据写入到另一个表中

    在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...

  3. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

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

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

  5. Oracle查询一个表的数据插入到另一个表

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

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

    http://blog.csdn.net/my_name_nb/article/details/64128015 ........................ 1. 新增一个表,通过另一个表的结构 ...

  7. SQL语句将一个表的数据写入到另一个表中

    在日常的数据库运维过程中,有时候需要将Select查询出来的数据集写入到另一个数据表中,其中一种方式是通过存储过程循环写入数据,另一种简便的方式是直接使用Insert Into语句后面跟上Select ...

  8. Oracle 一个表的数据update到另一个表

    A表数据 B表数据         现在要把B表 B_COSTS 的值update到A表 A_COSTS 字段 SQL语法: update a set (a.a_costs) = (select b. ...

  9. SQL实现将一个表的数据插入到另外一个表的代码

    --第一种情况的 1>如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; 2>比如要将 articles 表 ...

随机推荐

  1. SQL Server数据库大型应用解决方案总结【转】

    [IT168 技术]随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至上亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造 ...

  2. xcodebuild导出ipa方法

    xcode 5.x版本导出ipa是不需要开发者账号,而xcode6以后导出ipa必须要求选择开发者team,无法绕开,但我们使用xcodebuild命令行可以无视这个限制 环境: mac osx 10 ...

  3. Java笔记(二十八)……IO流下 IO包中其他常用类以及编码表问题

    PrintWriter打印流 Writer的子类,既可以接收字符流,也可以接收字节流,还可以接收文件名或者文件对象,非常方便 同时,还可以设置自动刷新以及保持原有格式写入各种文本类型的print方法 ...

  4. POJ 1661 Help Jimmy DP

    思路:Jimmy 跳到一块板上后,可以有两种选择,向左走或向右走.走到左端和走到右端所需的时间,容易算出. n如果我们能知道,以左端为起点到达地面的最短时间,和以右端为起点到达地面的最短时间,那么向左 ...

  5. Zookeeper系列(二)特征及应用场景

    zookeeper类似一个分布式的文件系统,每个节点可以有和它自身或它的子节点相关联的数据,此外指向节点的路劲必须使用绝对路径(不能使用相对路劲):   Znode 对应目录树中的的一个节点,并拥有一 ...

  6. Scala的安装(本地)

    前言 Scala版本的选法: 目前,Kafka库和JDBC并不支持Scala2.11的编译,以及结合大多数人的使用请来看.      scala2.10.*为主,在这,scala2.10.4版本,强烈 ...

  7. 用Quartus II 建立一个工程模板,以后新建工程时无需再配置参数

    以前用Quartus II 每次新建工程时,都要设置工程名,选择工程路径,选择芯片型号等等,好麻烦呀!可不可以建一个工程模板,以后新建工程时直接改相应文件名就可以呀!后来我一琢磨,感觉也不是不可以.因 ...

  8. ASIHTTPRequest 中url参数中文乱码

    ASIHTTPReques确实是在开发过程中,数据的传输,获取方面给我们很大的帮助.然而在一些方面也是需要一些的注意. 在我们使用ASIHTTPReques 进行get方式获取数据时,如果需要传入中文 ...

  9. 编写Word宏使选中的图片改变为固定宽度并保持纵横比

    代码如下: Sub 改变图片宽度为12并设置灰色边框() ' ' 改变图片宽度为12并设置灰色边框 宏 ' '     ' Application.Run MacroName:="改变图片大 ...

  10. 微信开发第7章 通过accesstoken获取用户黑名单列表

    获取黑名单列表可以查看文档 http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1471422259_pJMWA&token=& ...