有的时候我们统计需要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. VS2010使用DX报错 VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

    更改项目的app.config内容为以下内容 目的是开启对低版本的NETFWK支持 其实出现混合模式集的问题不只是在V1.1.4322这个版本上,在查询解决方案时发现,但凡程序集版本发生改变时,都有可 ...

  2. [LeetCode]题解(python):002-Add Two Numbers

    题目来源: https://leetcode.com/problems/add-two-numbers/ 题意分析: 这道题目是要将两个单链条相加.输出得到的新链条. 题目思路: 不难发现,其实题目就 ...

  3. AngularJS的启动引导过程

    原文:http://www.angularjs.cn/A137?utm_source=ourjs.com 目录: 引导之前 自动引导启动框架 手工引导启动框架 引导第1步:创建注入器 引导第2步:创建 ...

  4. linux如何关闭selinux?

    首先我们可以用命令来查看selinux的状态getenforce 这个命令可以查看到selinux的状态,当前可以看到是关闭状态的.还有一个命令也可以查看出selinux的状态.sestatus -v ...

  5. 手工部署Sqlserver CLR程序集

    原文 手工部署Sqlserver CLR程序集 以前一直用VS部署Sqlserver CLR程序集简单省事,现在服务器部署在内网了,必须手动更新部署Sqlserver CLR程序集.    开始以为A ...

  6. Python的安装和详细配置(转)

    Python是一种面向对象.解释型计算机程序设计语言.被认为是比较好的胶水语言.至于其他的,你可以去百度一下.本文仅介绍python的安装和配置,供刚入门的朋友快速搭建自己的学习和开发环境.本人欢迎大 ...

  7. iOS9 白名单问题 -canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"

    [iOS开发]-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query fo ...

  8. java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝

    接上一篇的字节流,以下主要介绍字符流.字符流和字节流的差别以及文件复制拷贝.在程序中一个字符等于两个字节.而一个汉字占俩个字节(一般有限面试会问:一个char是否能存下一个汉字,答案当然是能了,一个c ...

  9. 【视频教程】JEECG 入门视频教程大全+历史版本号代码下载

    <JEECG_v3 入门视频> PPT介绍下载:http://share.csdn.net/slides/4208 ************************************ ...

  10. <input type="text">文本输人框

    type类型: text  文本框 password  口令密码输人框 reset  重置或清除 buttou  命令按钮 checkbox  复选框 radio  单选框 submit  提交 fi ...