将一个多表关联的条件查询中的多表通过 create   select  转化成一张单表的sql

将结果改为创建一个会话级别的临时表:

-- 根据下面这两个sql
CREATE TABLE revenue_cp AS SELECT /*+PARALLEL(12)*/
e.STD_PRVNCE_CD STD_PRVNCE_CD,
e.STD_LATN_CD STD_LATN_CD,
e. CUST_ID ,e.PROD_TYPE,
m.party_id party_id,
e.TY_12 TY_12,
e.TY_11 TY_11,
e.TY_10 TY_10,
e.TY_9 TY_9 ,
e.TY_8 TY_8 ,
e.TY_7 TY_7 ,
e.TY_6 TY_6 ,
e.TY_5 TY_5 ,
e.TY_4 TY_4 ,
e.TY_3 TY_3 ,
e.TY_2 TY_2 ,
e.TY_1 TY_1 ,
e.LY_12 LY_12,
e.LY_11 LY_11,
e.LY_10 LY_10,
e.LY_9 LY_9 ,
e.LY_8 LY_8 ,
e.LY_7 LY_7 ,
e.LY_6 LY_6 ,
e.LY_5 LY_5 ,
e.LY_4 LY_4 ,
e.LY_3 LY_3 ,
e.LY_2 LY_2 ,
e.LY_1 LY_1
FROM EDA_CUST_INC e, CUST_CP_MERGE m
WHERE 1 = 1
and e.CUST_ID = m.CUST_ID
AND e.STD_LATN_CD = m.STD_LATN_CD
and m.PARTY_ID IS NOT NULL
AND UPPER(m.PARTY_ID) != 'NULL'; CREATE TABLE revenue_all as select r.*, p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
from revenue_cp r
left join party p on r.party_id=p.party_id
left join party_org o on r.party_id = o.party_id; --得到下面创建临时表的SQL -- 创建回话级别临时表
CREATE GLOBAL TEMPORARY table REVENUE_ALL2
(
STD_PRVNCE_CD VARCHAR2(20),
STD_LATN_CD VARCHAR2(20),
CUST_ID VARCHAR2(20),
PROD_TYPE VARCHAR2(20),
PARTY_ID NUMBER(16),
TY_12 NUMBER(16,2),
TY_11 NUMBER(16,2),
TY_10 NUMBER(16,2),
TY_9 NUMBER(16,2),
TY_8 NUMBER(16,2),
TY_7 NUMBER(16,2),
TY_6 NUMBER(16,2),
TY_5 NUMBER(16,2),
TY_4 NUMBER(16,2),
TY_3 NUMBER(16,2),
TY_2 NUMBER(16,2),
TY_1 NUMBER(16,2),
LY_12 NUMBER(16,2),
LY_11 NUMBER(16,2),
LY_10 NUMBER(16,2),
LY_9 NUMBER(16,2),
LY_8 NUMBER(16,2),
LY_7 NUMBER(16,2),
LY_6 NUMBER(16,2),
LY_5 NUMBER(16,2),
LY_4 NUMBER(16,2),
LY_3 NUMBER(16,2),
LY_2 NUMBER(16,2),
LY_1 NUMBER(16,2),
IDENTITY_TYPE NUMBER(4),
INDUSTRY_TYPE_ID NUMBER(16)
)
ON COMMIT PRESERVE ROWS; --向临时表中插数据 insert into REVENUE_ALL2 select r.*, p.IDENTITY_TYPE, o.INDUSTRY_TYPE_ID
from (SELECT /*+PARALLEL(12)*/
e.STD_PRVNCE_CD STD_PRVNCE_CD,
e.STD_LATN_CD STD_LATN_CD,
e. CUST_ID ,e.PROD_TYPE,
m.party_id party_id,
e.TY_12 TY_12,
e.TY_11 TY_11,
e.TY_10 TY_10,
e.TY_9 TY_9 ,
e.TY_8 TY_8 ,
e.TY_7 TY_7 ,
e.TY_6 TY_6 ,
e.TY_5 TY_5 ,
e.TY_4 TY_4 ,
e.TY_3 TY_3 ,
e.TY_2 TY_2 ,
e.TY_1 TY_1 ,
e.LY_12 LY_12,
e.LY_11 LY_11,
e.LY_10 LY_10,
e.LY_9 LY_9 ,
e.LY_8 LY_8 ,
e.LY_7 LY_7 ,
e.LY_6 LY_6 ,
e.LY_5 LY_5 ,
e.LY_4 LY_4 ,
e.LY_3 LY_3 ,
e.LY_2 LY_2 ,
e.LY_1 LY_1
FROM EDA_CUST_INC e, CUST_CP_MERGE m
WHERE 1 = 1
and e.CUST_ID = m.CUST_ID
AND e.STD_LATN_CD = m.STD_LATN_CD
and m.PARTY_ID IS NOT NULL
AND UPPER(m.PARTY_ID) != 'NULL') r
left join party p on r.party_id=p.party_id
left join party_org o on r.party_id = o.party_id; select * from REVENUE_ALL2;

将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql、改为会话级别临时表 【我】的更多相关文章

  1. 关于表 datatable的条件查询

    关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...

  2. 学数据库还不会Select,SQL Select详解,单表查询完全解析?

    查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式> .. ...

  3. 【转载】 Sqlserver中通过Select Into语句快速单表备份

    在Sqlserver数据库中,备份数据的方式有很多种,可以使用整个数据库备份,也可使用导出包含数据和架构的脚本文件的方式来进行单表或多表数据的备份,其实还有一种Select Into的方式可以快速备份 ...

  4. Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)

    前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...

  5. 20.Yii2.0框架多表关联一对多查询之hasMany

    目录 新手模式 hasMany关联模式查询 新建mode层Article.php 新建mode层Category.php 新建控制器HomeController.php 新手模式 用上次的查询结果,作 ...

  6. mysql条件查询中AND与OR联合使用的注意事项!

    mysql查询中经常会用到AND与OR一起使用的情况,可如果写法不对,往往会起到相反的效果,这不,前几天就碰到了,最后测试果然提了一堆bug!!!! 废话就不多说了,主要总结一下几点: 一 当mysq ...

  7. 6月21日 Django ORM那些相关操作(表关联、聚合查询和分组查询)

    一.ForeignKey操作 正向查找 对象查找(跨表) 语法: 对象.关联字段.字段   示例: book_obj = models.Book.objects.first() # 第一本书对象 pr ...

  8. MyBatis3-实现多表关联数据的查询

    前提: 1.新建Article表和增加模拟数据,脚本如下: Drop TABLE IF EXISTS `article`; Create TABLE `article` ( `id` ) NOT NU ...

  9. 21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用

    控制器里 功能: 通过分类,查分类下的所有文章 //关联查询 public function actionRelatesearch(){ //关联查询 //查询方法一(查一行) 一维数组下的值是obj ...

随机推荐

  1. 2019-2020-1 20199301《Linux内核原理与分析》第六周作业

    第五章 系统调用的三层机制(下) 1.给MenuOS增加命令 代码如下: rm -rf menu git clone http://github.com/mengning/menu.git make ...

  2. 软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?

    问题描述: 测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug? 精彩答案: 会员 土土的豆豆: 本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位. 个人认为,从软 ...

  3. Codeforces Round #604 (Div. 2) D. Beautiful Sequence(构造)

    链接: https://codeforces.com/contest/1265/problem/D 题意: An integer sequence is called beautiful if the ...

  4. LightOJ - 1410 - Consistent Verdicts(规律)

    链接: https://vjudge.net/problem/LightOJ-1410 题意: In a 2D plane N persons are standing and each of the ...

  5. 如何识别和解决SQL Server中的热闩锁(PAGELATCH_EX)

    描述 在SQL Server中,内部闩锁体系结构可在SQL操作期间保护内存.通过页面上的读写操作,可以确保内存结构的一致性.从根本上讲,它具有两个类:缓冲区锁存器和非缓冲区锁存器,它们在SQL Eng ...

  6. Sqoop 安装与简单测试

    sqoop基于Hadoop与Hive Hadoop https://www.cnblogs.com/xibuhaohao/p/11772031.html Hive      https://www.c ...

  7. override关键字

    https://www.cnblogs.com/xinxue/p/5471708.html 2  重写 (override) 在 1.2.2 中提到 override 关键字,可以避免派生类中忘记重写 ...

  8. PHP中使用 Memcached 的测试案例

    <?php class MemcacheController extends ControllerBase { public function indexAction() { session_s ...

  9. 【一起来烧脑】入门ES6体系

    为什么要学习ES6 掌握ES3.ES5.ES6的联系和区别 快速入门ES6 学会快速构建ES6的编译环境 学习ES6: 常量 作用域 箭头函数 默认参数 对象代理 git git clone http ...

  10. (9)打鸡儿教你Vue.js

    样式绑定 设置元素的样式 用 v-bind 来设置样式属性 class 与 style 是 HTML 元素的属性 <div v-bind:class="{ active: isActi ...