oracle 复杂语句
select nvl(sum1,'0')as sum1,nvl(sum2,'0') as sum2,da2 from(
select count(*) as sum1,substr(APPLY_DATE,6,2) as da1 from TBSHIPRUNCHECKAPPLY where apply_type like '%建造检验%'
and CHECK_TYPE like '%新建%' and CHECK_ADDRESS like '%南京%' and to_date(APPLY_DATE,'yyyy-MM-dd')
between to_date('2012-12-26','yyyy-mm-dd') and to_date('2013-12-25','yyyy-mm-dd') group by substr(APPLY_DATE,6,2)) a
left join (
select count(*) as sum2,substr(APPLY_DATE,6,2) as da2 from TBSHIPRUNCHECKAPPLY where apply_type like '%建造检验%'
and CHECK_TYPE like '%新建%' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) and to_date(APPLY_DATE,'yyyy-MM-dd')
between to_date('2012-12-26','yyyy-mm-dd') and to_date('2013-12-25','yyyy-mm-dd')
group by substr(APPLY_DATE,6,2)) b on a.da1 = b.da2 order by da2
SELECT '改建' as checktypename,COUNT (CASE WHEN substr(APPLY_DATE,6,2)='01' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm1,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='01' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm1,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='02' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm2,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='02' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm2,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='03' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm3,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='03' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm3,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='04' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm4,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='04' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm4,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='05' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm5,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='05' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm5,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='06' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm6,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='06' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm6,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='07' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm7,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='07' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm7,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='08' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm8,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='08' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm8,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='09' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm9,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='09' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm9,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='10' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm10,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='10' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm10,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='11' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm11,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='11' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm11,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='12' and CHECK_ADDRESS like '%南京%' then 1 end) as bdm12,
COUNT (CASE WHEN substr(APPLY_DATE,6,2)='12' and (CHECK_ADDRESS not like '%南京%' or CHECK_ADDRESS is null) then 1 end) as wdm12
FROM TBSHIPRUNCHECKAPPLY where apply_type like '%建造检验%'
and CHECK_TYPE like '%改建%' and to_date(APPLY_DATE,'yyyy-MM-dd')
between to_date('2012-12-26','yyyy-mm-dd') and to_date('2013-12-25','yyyy-mm-dd')
unoin 的时候 group by 不要每个都加 只能在union 之后 加一次就好了.
oracle 复杂语句的更多相关文章
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- 45 个非常有用的 Oracle 查询语句
这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快 ...
- Oracle sql语句执行顺序
sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...
- Oracle Update 语句语法与性能分析 - 多表关联
Oracle Update 语句语法与性能分析 - 多表关联 为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create ...
- Sqlserver2008和Oracle分页语句
SqlServer 分页语句 select StuID ,StuNo,StuName,Age,Sex, ClassName ClassName from (select *, row_number() ...
- Oracle SQL语句追踪
Oracle SQL语句追踪 1 SQL语句追踪 追踪SQL语句的执行过程需要在Oracle服务器端进行,Oracle服务器端会检测并记录访问进程所执行的所有SQL语句.下面使用的命令都是在命令行 ...
- Oracle执行语句跟踪(2)——使用10046事件实现语句追踪
接上篇博文Oracle执行语句跟踪(1)--使用sql trace实现语句追踪,一旦我们通过会话追踪获取到超时事物的执行语句,就可以使用10046事件对语句进行追踪. 启用10046事件追踪的方式 S ...
- 常用的Oracle数据库语句 (待更新完毕)
一.常用的查询语句 1.1 常用查询 查表中有多少个字段 select count(*) from user_tab_columns where table_name=upper('表名') 或者 s ...
- 40多个非常有用的Oracle 查询语句
给大家介绍是40多个非常有用的Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有Oracle 开发者都必备的技能,所以快快收藏吧! 日期 ...
- 45个非常有用的 Oracle 查询语句小结
45个非常有用的 Oracle 查询语句小结 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 ...
随机推荐
- jboss4.2.3建立oracle JMS应用
一.基本配置 1 增加oracle驱动文件,ojdbc6.jar,不能使用小于该版本的jdbc驱动,jboss-4.2.3.GA\server\default\lib 2 增加retrotransla ...
- css中IE6fix问题
.g-popup-mask, .g-popup-box { position:fixed; top:0; left:0; z-index:10000; _position:absolute; _top ...
- Bootstrap 标签页和工具提示插件
一.标签页 标签页也就是通常所说的选项卡功能. //基本用法 <ul class="nav nav-tabs"> <li class="active&q ...
- python对象数据的读写权限
面向对象的编程语言在写大型程序的的时候,往往比面向过程的语言用起来更方便,安全.其中原因之一在于:类机制. 类,对众多的数据进行分类,封装,让一个数据对象成为一个完整的个体,贴近现实生活,高度抽象化. ...
- 设计模式:适配器模式(Adapter)
定 义:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 有些国家用110V电压,而我们国家用的是220V,但是我们的电器,比 ...
- express 查看版本号
新安装了express,但是当查看版本号输入: express -v 时出现如下错误: 网上查找了相关资料才发现express查看版本 的命令是 express -V (即V大写) 再次尝试: 发现同 ...
- Educational Codeforces Round 16---部分题解
710A. King Moves 给你图中一点求出它周围有几个可达的点: 除边界之外都是8个,边界处理一下即可: #include<iostream> #include<cstdio ...
- logback配置详解(二)
<appender> <appender>: <appender>是<configuration>的子节点,是负责写日志的组件. <appende ...
- php中对2个数组相加的函数
<?php function array_add($a,$b){ //根据键名获取两个数组的交集 $arr=array_intersect_key($a, $b); //遍历第二个数组,如果键名 ...
- jboss漏洞导致服务器中毒
中毒现象 1. 网络出现拥塞,访问延迟增加. 2. 系统定时任务表中出现异常的定时任务. 3. 出现异常进程. 4. $JBOSS_HOME/bin或/root目录下出现大量的异常文件. 现象 ...