将一个多表关联的条件查询中的多表通过 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. test20190814 NOIP2019 模拟题

    二叉树 [问题描述] 从前有一棵二叉树,我们用如下方式来表示这棵二叉树. 如果一个节点没有儿子,我们用"0"来表示他. 如果一个节点有一个儿子,我们对它的表示以"1&qu ...

  2. Union-Find(并查集): Quick find算法

    解决dynamic connectivity的一种算法:Quick find Quick find--Data sturcture 如果两个objects是相连的,则它们有相同的array value ...

  3. Linux cut 用法

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. )其语法格式为:cut  [-bn] [fil ...

  4. Redis-3.2.1集群内网部署

    摘要: Redis-3.2.1集群内网部署 http://rubygems.org国内连不上时的一种Redis集群部署解决方案.不足之处,请广大网友指正,谢谢! 一. 关于redis cluster  ...

  5. windows下面同时部署多个tomcat的方法

    下面我们把配置的详细过程写在下面,以供参考:(此例以配置三个Tomcat为例)1. 下载apache-tomcat-7.0.63,下载下来的文件为apache-tomcat-7.0.63.zip.2. ...

  6. LightOJ - 1236 - Pairs Forming LCM(唯一分解定理)

    链接: https://vjudge.net/problem/LightOJ-1236 题意: Find the result of the following code: long long pai ...

  7. LightOJ-1275-Internet Service Providers(数学)

    链接: https://vjudge.net/problem/LightOJ-1275 题意: A group of N Internet Service Provider companies (IS ...

  8. Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件

    第一种INI配置文件 .ini 文件是Initialization File的缩写,即初始化文件. 除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户 ...

  9. python 之 序列 常用方法

  10. 【一起来烧脑】读懂WebApp知识体系

    背景 很多小白知道什么是app,但是却不知道什么是webapp呢,webapp是指用HTML5编写的移动web应用 一个webapp可以在pc端,Android端,ios端进行运行 webapp开发的 ...