一、业务需求

        在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

示例执行结果如下:

 

Logo

大数据从业者之家,一起探索大数据的无限可能!

更多推荐