CreateTime--2017年6月1日14:36:37

Author:Marydon

一、SQL语句

  (二)提升篇

    1.2.3 分页,分组,计数,排序

/**
* 返回数据
* FORGID 医疗机构ID
* FRCODE 县区编码
* FORGNAME 医疗机构名称
* FCENNAME_TEM_COUNT 名称不对称计数
* ISNULLCENCODE_COUNT 未对照计数
* TOTALCOUNT L_DIAITEM_ERROR表中共有多少条数据
*/
SELECT T3.*
FROM (SELECT T2.*, ROWNUM ROWNO
FROM (SELECT T.FORGID,
T1.FRCODE,
T1.FORGNAME,
SUM(NVL(T.NCCW, 0)) FCENNAME_TEM_COUNT,
SUM(NVL(T.WDZ, 0)) ISNULLCENCODE_COUNT,
TOTALCOUNT
FROM L_DIAITEM_ERROR T, TORGANIZATION T1
WHERE T.FORGID = T1.FORGID
GROUP BY T.FORGID, T1.FORGNAME, T1.FORGSEQ, T1.FRCODE
ORDER BY T1.FORGSEQ) T2
WHERE ROWNUM <= V_END) T3
WHERE T3.ROWNO >= V_START;

    注意:

      a.TOTALCOUNT是已存在的一个变量,这里不作为关注重点;      

      b.被group by的数据,要想查询表中的某个字段,有且只有两种方式:

        方式一:

          在group by 后面加上想要查询出来的字段      

        方式二:

          对于数字列,使用求和函数sum()实现查询

      否则,会报错:不是group by 表达式      

    CreateTime--2017年1月20日17:19:04

    1.2.4 不同数据库间建立连接

      情景:一个库访问另一个库的某张表

    UpdateTime--2017年7月17日16:02:26

    1.2.7 将查询的计数结果列转行

    实例:对两表满足条件的数据进行计数,并横向展示查询结果

      sql1:纵向展示(雏形)

SELECT COUNT(1) COUNTRESULT
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT COUNT(1) COUNTRESULT
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0

      查询结果:

      sql2:两行两列展示

SELECT COUNT(1) AS COUNTRESULT1, 0 AS COUNTRESULT2
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT 0 AS COUNTRESULT1, COUNT(1) AS COUNTRESULT2
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0

      查询结果:

      sql3:最终实现

SELECT SUM(COUNTRESULT1) COUNTRESULT1, SUM(COUNTRESULT2) COUNTRESULT2
FROM (SELECT COUNT(1) AS COUNTRESULT1, 0 AS COUNTRESULT2
FROM CONSULT_INFO T
WHERE T.CON_ORG_ID = ''
AND T.CONSULT_STATUS = 0
UNION ALL
SELECT 0 AS COUNTRESULT1, COUNT(1) AS COUNTRESULT2
FROM OUTPATIENT_CONSULT_INFO T2
WHERE T2.CON_ORG_ID = ''
AND T2.CONSULT_STATUS = 0)

      查询结果:

 

ORACLE-SQL(二)的更多相关文章

  1. 7.26实习培训日志-Oracle SQL(二)

    Oracle SQL(二) 条件表达式 CASE 语句 或者DECODE 函数,两者均可实现 IF-THEN-ELSE 的逻辑,相比较而言,DECODE 更加简洁 SELECT last_name , ...

  2. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  3. Could not load oracle/sql/converter_xcharset/lx20354.glb.

    一.错误描述: 此错误导致了web 服务器停止服务,应该属于“不能连接Oracle”的错误. 二.具体错误信息: 信息: Illegal access: this web application in ...

  4. Oracle SQL tuning 步骤

    Oracle SQL tuning 步骤 SQL是的全称是Structured Query Language(结构化查询语言).SQL是一个在80年代中期被使用的工业标准数据库查询语言.不要把SQL语 ...

  5. 介绍几种大型的Oracle/SQL Server数据库免费版

    我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...

  6. Oracle SQL 基本操作之 用户权限管理方法

     Oracle SQL 基本操作之 用户权限管理方法 最近把有关用户操作和权限管理的东西整理了一下,虽然不少博客都有过类似的整理,但是自己发现他们的内容或多或少都有些错误.于是,本人亲自对每条语句进行 ...

  7. Oracle SQL 语言分类

     Oracle SQL语句分类 2008-06-17 11:15:25 分类: Linux * 2008/06/17  星期二*蒙昭良*环境:WindowsXP + Oracle10gR2*Oracl ...

  8. Oracle SQL优化[转]

    Oracle SQL优化 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化 ...

  9. Oracle SQL优化器简介

    目录 一.Oracle的优化器 1.1 优化器简介 1.2 SQL执行过程 二.优化器优化方式 2.1 优化器的优化方式 2.2 基于规则的优化器 2.3 基于成本的优化器 三.优化器优化模式 3.1 ...

  10. Oracle SQL调优记录

    目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太 ...

随机推荐

  1. Maven学习-使用Nexus搭建Maven私服

    为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ...

  2. C#线程安全的那些事

    还是上一次,面试的时候提到了C#线程安全的问题,当时回答的记不太清了,大概就是多线程同是调用某一个函数时可能会照成数据发生混乱,运行到最后发现产生的结果或数据并不是自己想要的,或是跨线程调用属性或方法 ...

  3. 利用Jenkins实现JavaWeb项目的自动化部署

    修改代码,打包,上传,重启... 大把的时间花费在这些重复无味的工作上.笔者与当前主流的价值观保持一致:我们应该把时间花费在更有意义的事情上.我们可以尝试借助一些工具,让这些重复机械的工作交给计算机去 ...

  4. 无法打开文件“atlsd.lib”

    问题: vs2013编译c++代码,错误 15 error LNK1104: 无法打开文件“atlsd.lib” 解决: 在你电脑或者其他人电脑上搜索atlsd.lib,将其拷贝到D:\Program ...

  5. JQuery实战--能够编辑的表格

    廊坊下雪了.15年的第二场雪.比14的来的稍晚一些.停靠在11教门前的自行车.成了廊坊师范学院最漂亮的风景线.还记得以前学习css的时候.就以前接触过怎样编写设计一些表格和表单的样式,比如怎样设计表格 ...

  6. 文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets

    clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * stream); 函数说明 ...

  7. C语言:将结构体数组的成绩按照从小到大进行排序。

    #include<stdio.h> typedef struct student { char *name; int sno; int age; float score; }Student ...

  8. Divide Two Integers leetcode java

    题目: Divide two integers without using multiplication, division and mod operator. 题解: 这道题我自己没想出来...乘除 ...

  9. PowerDesigner导入SQL脚本

    方法/步骤     打开PowerDesigner,鼠标单击File菜单:   选择:Reverse Enginer,然后在他的子菜单选择Database...;   选择好DBMS(数据库管理系统) ...

  10. Java基础(二):基本数据类型和变量类型

    一.java基本数据类型: 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间.内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. Java 的两 ...