有的时候我们统计需要like多个条件,比如某个字段中含有 “银行”或者“投资公司”,这个时候就用like多个字段。

如下是统计某个地区的2015年入院的病种诊断中带有 “癌”或者“肿瘤”的情况,

正确的写法如:

 SELECT B.AAC002 身份证号,
B.AAC003 姓名,
TEMP_FUNC_WYL('AAC004', B.AAC004) 性别,
C.AAB004 单位,
C.AAB999 单位编号,
D.AAE006 地址,
D.AAE005 联系电话,
SUBSTR(A.CKC537, 1, 8) 入院时间,
SUBSTR(A.CKC538, 1, 8) 出院时间,
A.CKC546 出院诊断,
A.CKB519 就诊医院
FROM KC21 A, AC01 B, AE01 C, SAC02 D
WHERE A.AAC001 = B.AAC001
AND B.AAC001 = D.AAC001
AND B.AAB001 = C.AAB001
AND B.BAE001 = ''
AND SUBSTR(A.CKC537, 1, 4) = 2015
AND A.CKC546 LIKE '%癌%'
GROUP BY B.AAC002,
B.AAC003,
B.AAC004,
C.AAB004,
C.AAB999,
D.AAE006,
D.AAE005,
A.CKC537,
A.CKC538,
A.CKC546,
A.CKB519
UNION ALL
SELECT B.AAC002 身份证号,
B.AAC003 姓名,
TEMP_FUNC_WYL('AAC004', B.AAC004) 性别,
C.AAB004 单位,
C.AAB999 单位编号,
D.AAE006 地址,
D.AAE005 联系电话,
SUBSTR(A.CKC537, 1, 8) 入院时间,
SUBSTR(A.CKC538, 1, 8) 出院时间,
A.CKC546 出院诊断,
A.CKB519 就诊医院
FROM KC21 A, AC01 B, AE01 C, SAC02 D
WHERE A.AAC001 = B.AAC001
AND B.AAC001 = D.AAC001
AND B.AAB001 = C.AAB001
AND B.BAE001 = ''
AND SUBSTR(A.CKC537, 1, 4) = 2015
AND A.CKC546 LIKE '%肿瘤%'
GROUP BY B.AAC002,
B.AAC003,
B.AAC004,
C.AAB004,
C.AAB999,
D.AAE006,
D.AAE005,
A.CKC537,
A.CKC538,
A.CKC546,
A.CKB519;

错误的写法:

 SELECT B.AAC002 身份证号,
B.AAC003 姓名,
TEMP_FUNC_WYL('AAC004', B.AAC004) 性别,
C.AAB004 单位,
C.AAB999 单位编号,
D.AAE006 地址,
D.AAE005 联系电话,
SUBSTR(A.CKC537, 1, 8) 入院时间,
SUBSTR(A.CKC538, 1, 8) 出院时间,
A.CKC546 出院诊断,
A.CKB519 就诊医院
FROM KC21 A, AC01 B, AE01 C, SAC02 D
WHERE A.AAC001 = B.AAC001
AND B.AAC001 = D.AAC001
AND B.AAB001 = C.AAB001
AND B.BAE001 = ''
AND SUBSTR(A.CKC537, 1, 4) = 2015
AND A.CKC546 LIKE '%癌%' or LIKE '%肿瘤%'
GROUP BY B.AAC002,
B.AAC003,
B.AAC004,
C.AAB004,
C.AAB999,
D.AAE006,
D.AAE005,
A.CKC537,
A.CKC538,
A.CKC546,
A.CKB519

如果用这种写法,就会得到意想不到的结果。第二条统计语句的统计结果里肯定不仅仅包含2015年的情况,因为关键词 "or" 的前后是两个条件,Oracle把or前后两段当作两个完全独立的筛选条件了,or前面的是按照统计条件来统计的,而 or 后面的则 只是筛选了病种里带有“肿瘤”字样的情况。

Oracle统计之like,or关键字的更多相关文章

  1. 有关Oracle统计信息的知识点[z]

    https://www.cnblogs.com/sunmengbbm/p/5775211.html 一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如, ...

  2. 怎么样通过编写Python小程序来统计测试脚本的关键字

    怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...

  3. 有关Oracle统计信息的知识点

    一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于 ...

  4. Oracle 提供的start with 关键字用法

    在相关业务查询中,我们常常遇到相关的上下级关系情况,如下图中行政区划关联,此时就要用到Oracle 提供的start with 关键字来帮助我们进行递归查询 基本语法 SELECT ... FROM ...

  5. [Oracle] oracle统计信息

    Oracle统计信息 Oracle数据库里的统计信息可以分为6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 图 1: Oracle统计信息 基 ...

  6. oracle统计信息

    手工刷ORACLE统计信息  select count(1) from LOG_TRX_DETAIL;  select * from user_tab_statistics where table_n ...

  7. Oracle统计、分析和优化环境配置

    Oracle统计.分析和优化环境配置 创建批处理文件Login.bat 用于初始化设置系统环境 Login.bat @echo off title eoda mode con cols=140 col ...

  8. Oracle基础之保留字和关键字

    Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC.ORDER等等)是Oracle中不能随便使用的,比如不能随 ...

  9. ORACLE 统计文件后缀SQL

    ORACLE 统计文件后缀SQL查询语句 select lower(substr(file_name,instr(file_name, '.', -1),length(file_name))),cou ...

随机推荐

  1. HDU2018-母牛的故事

    描述: 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? 代码: 第n年的牛,等于第n-1年的牛(已有的)+第n-3年 ...

  2. 微信公众号token验证失败的一些总结

    这几天准备弄一个微信公众号,在进行服务器配置的时候出现总是出现token验证失败的报错. 实际上,这个问题很好解决.既然微信平台没有给我们很明确的报错提示,那么我们就可以通过跟踪获取到的请求参数进行分 ...

  3. codeforces 607B. Zuma 区间dp

    题目链接 给一个长度为n的序列, 每一次可以消去其中的一个回文串, 问最少几次才可以消完. 代码很清楚 #include <iostream> #include <vector> ...

  4. Java web 开发环境配置。

    一.配置 win8 64位 环境java 开发环境 1.  下载JDK,地址 http://www.oracle.com/technetwork/java/javase/downloads/index ...

  5. 怎么给没链接的flash加超链接

    最近开始准备设计一个广告条,本想用阿里妈妈的的banner marker来设计,却遗憾的发现,banner marker已经实行收费模式了. 我不得不启用另一款在线banner生成工具,百度旗下的&q ...

  6. Android studio如何使用SVN进行版本控制?

    通过这两天对Android Studio的研究,终于搞通了Android Studio的基本操作及与SVN的相关关联操作(这样才能在公司的开发工作中使用):Google年底将会停止ADT插件的更新和支 ...

  7. BZOJ 1002 轮状病毒 (基尔霍夫矩阵)

    题解:http://vfleaking.blog.163.com/blog/static/17480763420119685112649/ #include <iostream> #inc ...

  8. Android的重力传感器(3轴加速度传感器)简单实例

    重力感应主要是依靠手机的加速度传感器(accelerometer)来实现 在Android的开发中一共有八种传感器但是不一定每一款真机都支持这些传感器.因为很多功能用户根本不care的所以可能开发商会 ...

  9. VCS引起的oracle数据库异常重新启动一例

    1. 环境描写叙述 操作系统版本号:SUSE Linux Enterprise Server 10 sp2 (x86_64) 数据库版本号:Oracle 11.1.0.7.16 VCS版本号:5.1 ...

  10. DevExpress ASP.NET 使用经验谈(6)-ASPxGridView属性设置与CRUD界面优化

    上一节中,我们通过简单的配置,通过ASPxGridView控件的使用,完成了对数据库表的CRUD操作. 这样的界面展现,功能是达到了,但是操作体验上,还是有所欠缺的. 图一 默认生成的列表界面 图二 ...