Oracle统计之like,or关键字
有的时候我们统计需要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关键字的更多相关文章
- 有关Oracle统计信息的知识点[z]
https://www.cnblogs.com/sunmengbbm/p/5775211.html 一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如, ...
- 怎么样通过编写Python小程序来统计测试脚本的关键字
怎么样通过编写Python小程序来统计测试脚本的关键字 通常自动化测试项目到了一定的程序,编写的测试代码自然就会很多,如果很早已经编写的测试脚本现在某些基础函数.业务函数需要修改,那么势必要找出那些引 ...
- 有关Oracle统计信息的知识点
一.什么是统计信息 统计信息主要是描述数据库中表,索引的大小,规模,数据分布状况等的一类信息.例如,表的行数,块数,平均每行的大小,索引的leaf blocks,索引字段的行数,不同值的大小等,都属于 ...
- Oracle 提供的start with 关键字用法
在相关业务查询中,我们常常遇到相关的上下级关系情况,如下图中行政区划关联,此时就要用到Oracle 提供的start with 关键字来帮助我们进行递归查询 基本语法 SELECT ... FROM ...
- [Oracle] oracle统计信息
Oracle统计信息 Oracle数据库里的统计信息可以分为6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 图 1: Oracle统计信息 基 ...
- oracle统计信息
手工刷ORACLE统计信息 select count(1) from LOG_TRX_DETAIL; select * from user_tab_statistics where table_n ...
- Oracle统计、分析和优化环境配置
Oracle统计.分析和优化环境配置 创建批处理文件Login.bat 用于初始化设置系统环境 Login.bat @echo off title eoda mode con cols=140 col ...
- Oracle基础之保留字和关键字
Oracle基础之保留字和关键字 在Oracle之中,有分为保留字和关键字,所谓关键字就是Oracle中有实际意义的,而保留字(比如DESC.ORDER等等)是Oracle中不能随便使用的,比如不能随 ...
- ORACLE 统计文件后缀SQL
ORACLE 统计文件后缀SQL查询语句 select lower(substr(file_name,instr(file_name, '.', -1),length(file_name))),cou ...
随机推荐
- android五种布局模式
Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布局),AbsoluteLayout(绝对 ...
- Git使用方法记录(一)
记录下git的基本使用方法,这里是以ubuntu14.04为例. 1,使用前的初始设置 git config –global user.name “FirstName LastName” git co ...
- 关于block 用法
Block Apple 在C, Objective-C, C++加上Block這個延申用法.目前只有Mac 10.6 和iOS 4有支援.Block是由一堆可執行的程式組成,也可以稱做沒有名字的Fu ...
- win使用telnet到ubuntu下vim显示中文为乱码的解决方法~
1.几个路径: ubuntu: /etc/default/locale 相当于 centos:/etc/sysconfig/i18n vimrc的路径:① ~/.vimrc ② /etc/vi ...
- discuz_style_default.xml修改
首先我们需要在template/文件夹下新建一个yourstyle文件夹放置模板文件,然后复制default下的discuz_style_default.xml,重命名为discuz_style_你的 ...
- QT窗口拖拽功能简单应用(处理dragEnterEvent和dropEvent事件,不同的事件有不同的信息,比如mimeData)
void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event); ui->lineEdit-> ...
- Delphi的MDI编程中遇到的一个奇怪问题(值得研究的一个问题)
近日在用delphi写一个多文档应用程序,除了一个主界面是自动生成的,其他功能页面全部都是通过Application.CreateForm()动态生成的,也就是说在ProjectManager中点击程 ...
- 测试横竖屏切换时activity 的生命周期
对于这个面试题,相信大家都见过,网上给出的答案是: 1.不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2.设 ...
- MySQL的字段设计
1.尽量使用数字,因为文本占空间,不利于查询(针对有限种类文本)
- ClassLoader简单介绍
要理解ClassLoader,我们可以通过what.how两个方面来解释 一.what:什么事ClassLoader? 1.ClassLoader可以是将class文件加载到JVM方法区. 2.Cla ...