您现在的位置是:首页 >学无止境 >oracle使用with as创建临时表网站首页学无止境

oracle使用with as创建临时表

牛奶咖啡13 2024-06-17 10:19:00
简介oracle使用with as创建临时表

一、业务需求

        在oracle项目的开发过程中,使用sql编写好对应的分析报表内容后,由于sql分析报表涉及到的一些线别丢失,导致呈现的报表分类统计时固定用醒目颜色标识的统计行数据显示错位;因此需要修复分析报表填充完整的线别。

二、业务分析

        sql编写好对应的分析报表内容后,由于一些线别的数据缺失,导致报表显示数据缺失的线别不显示;现在需要将数据缺失的线别也显示出来。最简单的方法就是将现有的sql语句右连接到一个固定线别的临时表中即可(可是使用oracle中的with as创建一个固定线别的临时表)。

三、实现方法

3.1、With as用法

Selecting from the DUAL Table (oracle.com)icon-default.png?t=N3I4https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/Selecting-from-the-DUAL-Table.html

13.2.20 WITH (Common Table Expressions) (oracle.com)icon-default.png?t=N3I4https://docs.oracle.com/cd/E17952_01/mysql-8.0-en/with.html#common-table-expressions

SQL | Join (Inner, Left, Right and Full Joins) - GeeksforGeeksicon-default.png?t=N3I4https://www.geeksforgeeks.org/sql-join-set-1-inner-left-right-and-full-joins/ SQL JOIN 连接_w3cschoolicon-default.png?t=N3I4https://www.w3cschool.cn/sql/2nmo1oyt.html

3.2、with as创建临时表

①创建临时表语法

with 临时表名称 as(

SELECT 值1 列名1,值2 列名2 from dual union all
SELECT 值1 列名1,值2 列名2 from dual union all
SELECT 值1 列名1,值2 列名2 from dual 
)
SELECT * from 临时表名称

②创建临时表示例

with TEMPTABLE as(

SELECT 1 LINE, '一线' NOTES from dual union all
SELECT 2 LINE, '二线' NOTES from dual union all
SELECT 3 LINE, '三线' NOTES from dual 
)
SELECT * from TEMPTABLE

示例执行结果如下:

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。