将一个多表关联的条件查询中的多表通过 create select 转化成一张单表的sql、改为会话级别临时表 【我】
将一个多表关联的条件查询中的多表通过 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、改为会话级别临时表 【我】的更多相关文章
- 关于表 datatable的条件查询
关于表 datatable的条件查询 从数据库中获得一个datatable dt .里面有很多的死的数据.然后,我就是要在这个表中来按条件查询,例如 dt中有个列叫"palte", ...
- 学数据库还不会Select,SQL Select详解,单表查询完全解析?
查询操作是SQL语言中很重要的操作,我们今天就来详细的学习一下. 一.数据查询的语句格式 SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式> .. ...
- 【转载】 Sqlserver中通过Select Into语句快速单表备份
在Sqlserver数据库中,备份数据的方式有很多种,可以使用整个数据库备份,也可使用导出包含数据和架构的脚本文件的方式来进行单表或多表数据的备份,其实还有一种Select Into的方式可以快速备份 ...
- Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)
前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...
- 20.Yii2.0框架多表关联一对多查询之hasMany
目录 新手模式 hasMany关联模式查询 新建mode层Article.php 新建mode层Category.php 新建控制器HomeController.php 新手模式 用上次的查询结果,作 ...
- mysql条件查询中AND与OR联合使用的注意事项!
mysql查询中经常会用到AND与OR一起使用的情况,可如果写法不对,往往会起到相反的效果,这不,前几天就碰到了,最后测试果然提了一堆bug!!!! 废话就不多说了,主要总结一下几点: 一 当mysq ...
- 6月21日 Django ORM那些相关操作(表关联、聚合查询和分组查询)
一.ForeignKey操作 正向查找 对象查找(跨表) 语法: 对象.关联字段.字段 示例: book_obj = models.Book.objects.first() # 第一本书对象 pr ...
- MyBatis3-实现多表关联数据的查询
前提: 1.新建Article表和增加模拟数据,脚本如下: Drop TABLE IF EXISTS `article`; Create TABLE `article` ( `id` ) NOT NU ...
- 21.Yii2.0框架多表关联一对多查询之性能优化--模型的使用
控制器里 功能: 通过分类,查分类下的所有文章 //关联查询 public function actionRelatesearch(){ //关联查询 //查询方法一(查一行) 一维数组下的值是obj ...
随机推荐
- 初学Django基础01 建立工程,目录结构,常用配置,上下文管理,模板渲染
django是python的web重量级框架,发展已经有10年多了,对应下面版本 Django 版本 Python 版本 1.8 2.7, 3.2 , 3.3, 3.4, 3.5 1.9, 1.10 ...
- robot framework 笔记(一)
背景: 平时使用rf时会用到一些方法,长时间不用就会忘记,本文用来记录当做自己的小笔记 内容持续更新中········ 一.robot framework 大小写转换 1.转换小写: ${low} E ...
- Idea导入maven项目
1.idea中有项目的关闭项目 File>>close project 回到截图 下一步>下一步
- C# HashCode
如果两个对象的HashCode相等,可以认为两者相等.类型和值都相等. xx.GetHashCode();
- VS - Paginated
BootstrapPagination.cshtml @model PaginationModel <div class="pagination"> <ul> ...
- CSS滑动门
如下图所示,每个导航栏目的文字个数不一样多,有的长,有的短,如何用一张背景图片,适应不同字数”的导航条,“滑动门”设计的非常巧妙,采用两个相同的背景图像,一左一右,一个负责提供左边框,一个负责提供右边 ...
- (16)打鸡儿教你Vue.js
博客: Hexo搭建个性博客 https://hexo.io/zh-cn/ 快速.简洁且高效的博客框架 超快速度 Node.js 所带来的超快生成速度,让上百个页面在几秒内瞬间完成渲染. 支持 Mar ...
- [luogu 3803]【模板】多项式乘法
传送门 FFT #include<bits/stdc++.h> #define ll long long #define max(a,b) ((a)>(b)?(a):(b)) #de ...
- 【洛谷】P3188 [HNOI2007]梦幻岛宝珠
题目描述 给你N颗宝石,每颗宝石都有重量和价值.要你从这些宝石中选取一些宝石,保证总重量不超过W,且总价值最大为,并输出最大的总价值. 数据范围:N<=100;W<=2^30,并且保证每 ...
- 关于aes加密
aes加密有几种模式:CBC,AES-128bit, Pkcs7补码方式(后台有可能是PKCS5Padding,是一样的),安卓和ios的key密钥对长度没有要求,但是前端web的密钥和偏移量必须是1 ...