客户培训《报表制作》-_第1页
客户培训《报表制作》-_第2页
客户培训《报表制作》-_第3页
客户培训《报表制作》-_第4页
客户培训《报表制作》-_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一、PLSQL工具简单教程二、SQL简单基本语法三、oracle中SQL常用函数四、SQL语句示例讲解五、报表制作流程六、报表参数设置七、优化报表的方法二、SQL简单基本语句DDL数据定义语言(CREATE,ALTER,DROP,DECLARE)DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)二、SQL简单基本语句DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)select 列1, 列2, , ,列n from 表名 where 字段=条件值1、查询语句 s

2、elect查询内容查询的表名称条件子句二、SQL简单基本语句DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)1、查询语句 select where 条件子句语法and 且or 或between A and B A 与 B 之间 = 大于 等于 小于 不等于in 存在于not in 不存在于EXISTS 成立not EXISTS 不成立is not null 不为空is null 为空二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)1、查询语句 select 表连接select * from 表1 a,表2 b,表3

3、c where a.字段 = b.字段 and b.字段=c.字段select * from 表1 a left join 表2 b on a.字段 = b.字段select * from 表1 a,表2 b where a.字段 = b.字段(+)left joinright join二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)1、查询语句 select 表连接select * from 表1 a,表2 b where a.病人id = b.病人id(+)表1表2二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPD

4、ATE,INSERT)1、查询语句 select 表连接select * from 表1 a,表2 b where a.病人id(+) = b.病人id表1表2二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)1、查询语句 select 表合并 union、union all表1表2select 病人id,姓名 from 表1 unionselect 病人id,姓名 from 表2二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)1、查询语句 select 表合并 union、union all表1

5、表2select 病人id,姓名 from 表1 union allselect 病人id,姓名 from 表2二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)delete 表名 where 字段1=条件值1 and 字段2=条件值21、删除语句 delete删除的表名称条件子句执行后,需要提交二、SQL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)update 表名 set 列1=值1 ,列2=值2 where 字段=条件值 1、修改语句 update修改的表名称条件子句执行后,需要提交修改内容二、S

6、QL简单基本语法DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT)insert into 表名(列1,列2,列3) values(值1,值2,值3)1、增加语句 insert into插入的表名称执行后,需要提交插入内容课间练习 以用户名:zlhis 密码:his 进入PLSQL 查询表:【病人信息】、【病案主页】 select a.姓名,a.性别,b.住院号 from 病人信息 a,病案主页 b where a.病人id=b.病人id select a.姓名,a.性别,b.住院号 from 病人信息 a,病案主页 b where a.病人id=b.病人id(+) s

7、elect a.姓名,a.性别,b.住院号 from 病人信息 a,病案主页 b where a.病人id(+)=b.病人id select 病人id,姓名 from 病人信息 union all select 病人id,to_char(住院号) from 病案主页三、oracle中SQL常用函数1、检索函数:instrINSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,该参数可省略,默认为1 J 第几次出现,该参数可省略,默认为1Select Instr(姓名,李,1,1) ,Instr(

8、姓名,李) From 病人信息意:检索姓名字段里面的李字,从第一个字符开始检索,从第一个出现李字的位置开始,返回在姓名字段的值里发现李字的位置。三、oracle中SQL常用函数2、截取函数:SUBSTRSUBSTR(string,start,count)取子字符串,从start开始,最多取count个string 被截取的字符串start 从start开始count 最多取count个Select substr(姓名,instr(姓名,李) + 1,3) From 病人信息李召朋instr(李召朋,李) = 1substr(李召朋,instr(李召朋,李) +1 ,3) =substr(李召朋

9、,2 ,3) =召朋三、oracle中SQL常用函数3、长度函数:length length(姓名) -返回姓名字段的长度4、大写函数:upper upper(简码) -返回简码的大写字母zlspellcode(姓名) As 拼音简码,zlwbcode(姓名) as 五笔简码 -返回中文字的英文首字母简码5、简码转换函数:zlspellcode 、 zlwbcode6、去空格函数:TRIM 、 LTRIM、RTRIMTRIM(姓名) -返回去空格后的姓名, LTRIM 左去空, RTRIM 右去空三、oracle中SQL常用函数7、替换函数:Replace REPLACE(string,s1,

10、s2)string 希望被替换的字符或变量 s1 被替换的字符串s2 要替换的字符串,该参数可省略,默认为空replace(中联,联,国) -将联字替换为国字返回中国8、去重复行函数:distinct select distinct 列1,列2 from 表名 - 去除重复的行,返回唯一行9、正负判断函数:signsign(n) - n0则返回1 n0返回-1 n=0返回0三、oracle中SQL常用函数10、取整函数:floor、ceil、roundfloor(2.5555) -取最小整数,结果是2ceil(2.4555) -取最大整数,结果是3round(2.5555,2) -四舍五入,结

11、果是2.5611、余数函数:ModMod(n1,n2), -取余数,返回n1除以n2的余数12、判断空值函数:nvlnvl(N1,N2) -判断空值,如果N1为空,返回N2,否则返回N1) 三、oracle中SQL常用函数13、判断函数:decodedecode(a,b,c,d) -如果A=B,那么返回C否则返回Ddecode(a,b,c,d,e,f) -如果A=B,那么返回C,再如果A=D,那么返回E,否则返回Fselect decode(姓名,张三,小张,姓名) from 病人信息意:如果有姓名=张三的人,就把张三返回为小张,否则返回原姓名。三、oracle中SQL常用函数14、截断函数:

12、trunc用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期。格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入.三、oracle中SQL常用函数14、格式化函数:to_char、to_date、to_numberto_char -字符格式化 to_char(99999) 99999to_date -时间格式化 to_date(20140101,yyyy-mm-dd) 2014-01-01 to_date(20140101,yyyy-mm-dd hh24:mi:ss

13、) 2014-01-01 00:00:00to_number -数字格式化 to_number(99999) 99999三、oracle中SQL常用函数15、聚合函数:sum、avg、count、max、minsum(金额) -金额之和avg(金额) -金额平均值count(id) -计数 max(id) -返回最大idmin(id) -返回最小id注:1、使用聚合函数时,查询的非聚合函数之外的列必须在句末加group by进行分组 ,如: select sum(金额) as 总金额,操作员姓名 from 门诊费用记录 group by 操作员姓名 2、聚合函数不能放在where 条件子句内,

14、应用having 子句三、oracle中SQL常用函数16、排序:order byselect 列1,列2 from 表名order by 列1,列2 desc -首先以列1升序排列,再以列2倒序排列四、SQL语句示例讲解Select b.编码, b.名称 As 项目, c.名称 As 科室, Sum(a.金额) As 金额From (Select a.收入项目id, a.开单部门id, Sum(a.实收金额) As 金额 From Zlhis.门诊费用记录 a Where a.记录性质 = 1 And a.记录状态 0 And a.执行状态 9 And a.登记时间 Between to_d

15、ate(2013-09-01 00:00:00,yyyy-mm-dd hh24:mi:ss) And to_date(2014-09-01 00:00:00,yyyy-mm-dd hh24:mi:ss) Group By a.收入项目id, a.开单部门id Having Sum(a.实收金额) 0) a, Zlhis.收入项目 b, Zlhis.部门表 cWhere a.开单部门id = c.Id And b.Id = a.收入项目idGroup By b.编码, b.名称, c.名称Order By b.编码四、SQL语句示例讲解Select a.收入项目id, a.开单部门id, Sum

16、(a.实收金额) As 金额From Zlhis.门诊费用记录 aWhere a.记录性质 = 1 And a.记录状态 0 And a.执行状态 9 And a.登记时间 Between to_date(2013-09-01 00:00:00,yyyy-mm-dd hh24:mi:ss) And to_date(2014-09-01 00:00:00,yyyy-mm-dd hh24:mi:ss)Group By a.收入项目id, a.开单部门idHaving Sum(a.实收金额) 0五、报表制作流程 1、在PLSQL内书写数据源 2、报表工具新增报表 3、设计报表-新增数据源 4、设计报

17、表-设置参数条件 5、设计报表-验证数据源 6、设计报表-设置数据表格 7、设计报表-调整报表格式 8、保存报表 9、发布报表 10、报表授权 11、报表备份五、报表制作流程 2、报表工具新增报表五、报表制作流程2、报表工具新增报表五、报表制作流程2、报表工具新增报表课间练习 制作一张查询病人:姓名、性别、年龄、住院号、入院日期、出院日期 的报表。 涉及到的表【病人信息】、【病案主页】 需要加的条件参数:入院日期、入院科室,要求科室名称能通过简码模糊查询。 分别发布到:【导航台】菜单与【病人入出管理】模块内菜单。 授权至角色【住院结帐员】课间练习2 制作一张查询病人:收费项目名称、规格、单位、

18、单价 的报表。(单价是使用现价) 涉及到的表【收费项目目录】、【收费价目】,两表之间是以【收费项目目录】的id和【收费价目】的收费细目id进行连接。 需要加的条件参数:最低价格、项目名称,要求项目名称能通过简码模糊查询。 分别发布到:【导航台】菜单与【费用基础模块】模块内菜单。 授权至角色【住院结帐员】七、优化报表的方法原则1:表与视图的外连接。 表和视图进行外连接,很可能导致视图中的查询无法使用索引,应避免使用视图,改为直接连接视图中的表。原则2:避免Select * 为了避免隐式字段转换导致的资源消耗,除了对子查询的字段访问外,其余不得使用Select *。原则3:避免在索引条件字段上使用函数 在Where子句中的索引条件字段上使用函数(例如:Upper,Trunc),表达式运算,隐式数据类型转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论