客戶培訓《報表制作》-_第1頁
客戶培訓《報表制作》-_第2頁
客戶培訓《報表制作》-_第3頁
客戶培訓《報表制作》-_第4頁
客戶培訓《報表制作》-_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、目錄一、PLSQL工具簡單教程二、SQL簡單基本語法三、oracle中SQL常用函數(shù)四、SQL語句示例講解五、報表制作流程六、報表參數(shù)設置七、優(yōu)化報表的方法二、SQL簡單基本語句DDL數(shù)據(jù)定義語言(CREATE,ALTER,DROP,DECLARE)DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)DCL數(shù)據(jù)控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)二、SQL簡單基本語句DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)select 列1, 列2, , ,列n from 表名 where 字段=條件值1、查詢語句 s

2、elect查詢內(nèi)容查詢的表名稱條件子句二、SQL簡單基本語句DML數(shù)據(jù)操縱語言(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數(shù)據(jù)操縱語言(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數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)1、查詢語句 select 表連接select * from 表1 a,表2 b where a.病人id = b.病人id(+)表1表2二、SQL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPD

4、ATE,INSERT)1、查詢語句 select 表連接select * from 表1 a,表2 b where a.病人id(+) = b.病人id表1表2二、SQL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)1、查詢語句 select 表合并 union、union all表1表2select 病人id,姓名 from 表1 unionselect 病人id,姓名 from 表2二、SQL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)1、查詢語句 select 表合并 union、union all表1

5、表2select 病人id,姓名 from 表1 union allselect 病人id,姓名 from 表2二、SQL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)delete 表名 where 字段1=條件值1 and 字段2=條件值21、刪除語句 delete刪除的表名稱條件子句執(zhí)行后,需要提交二、SQL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)update 表名 set 列1=值1 ,列2=值2 where 字段=條件值 1、修改語句 update修改的表名稱條件子句執(zhí)行后,需要提交修改內(nèi)容二、S

6、QL簡單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)insert into 表名(列1,列2,列3) values(值1,值2,值3)1、增加語句 insert into插入的表名稱執(zhí)行后,需要提交插入內(nèi)容課間練習 以用戶名: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常用函數(shù)1、檢索函數(shù):instrINSTR(C1,C2,I,J)在一個字符串中搜索指定的字符,返回發(fā)現(xiàn)指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的開始位置,該參數(shù)可省略,默認為1 J 第幾次出現(xiàn),該參數(shù)可省略,默認為1Select Instr(姓名,李,1,1) ,Instr(

8、姓名,李) From 病人信息意:檢索姓名字段里面的李字,從第一個字符開始檢索,從第一個出現(xiàn)李字的位置開始,返回在姓名字段的值里發(fā)現(xiàn)李字的位置。三、oracle中SQL常用函數(shù)2、截取函數(shù):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常用函數(shù)3、長度函數(shù):length length(姓名) -返回姓名字段的長度4、大寫函數(shù):upper upper(簡碼) -返回簡碼的大寫字母zlspellcode(姓名) As 拼音簡碼,zlwbcode(姓名) as 五筆簡碼 -返回中文字的英文首字母簡碼5、簡碼轉換函數(shù):zlspellcode 、 zlwbcode6、去空格函數(shù):TRIM 、 LTRIM、RTRIMTRIM(姓名) -返回去空格后的姓名, LTRIM 左去空, RTRIM 右去空三、oracle中SQL常用函數(shù)7、替換函數(shù):Replace REPLACE(string,s1,

10、s2)string 希望被替換的字符或變量 s1 被替換的字符串s2 要替換的字符串,該參數(shù)可省略,默認為空replace(中聯(lián),聯(lián),國) -將聯(lián)字替換為國字返回中國8、去重復行函數(shù):distinct select distinct 列1,列2 from 表名 - 去除重復的行,返回唯一行9、正負判斷函數(shù):signsign(n) - n0則返回1 n0返回-1 n=0返回0三、oracle中SQL常用函數(shù)10、取整函數(shù):floor、ceil、roundfloor(2.5555) -取最小整數(shù),結果是2ceil(2.4555) -取最大整數(shù),結果是3round(2.5555,2) -四舍五入,結

11、果是2.5611、余數(shù)函數(shù):ModMod(n1,n2), -取余數(shù),返回n1除以n2的余數(shù)12、判斷空值函數(shù):nvlnvl(N1,N2) -判斷空值,如果N1為空,返回N2,否則返回N1) 三、oracle中SQL常用函數(shù)13、判斷函數(shù):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常用函數(shù)14、截斷函數(shù):

12、trunc用法有兩種:TRUNC(NUMBER)表示截斷數(shù)字,TRUNC(date)表示截斷日期。格式:TRUNC(n1,n2),n1表示被截斷的數(shù)字,n2表示要截斷到那一位。n2可以是負數(shù),表示截斷小數(shù)點前。注意,TRUNC截斷不是四舍五入.三、oracle中SQL常用函數(shù)14、格式化函數(shù):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 -數(shù)字格式化 to_number(99999) 99999三、oracle中SQL常用函數(shù)15、聚合函數(shù):sum、avg、count、max、minsum(金額) -金額之和avg(金額) -金額平均值count(id) -計數(shù) max(id) -返回最大idmin(id) -返回最小id注:1、使用聚合函數(shù)時,查詢的非聚合函數(shù)之外的列必須在句末加group by進行分組 ,如: select sum(金額) as 總金額,操作員姓名 from 門診費用記錄 group by 操作員姓名 2、聚合函數(shù)不能放在where 條件子句內(nèi),

14、應用having 子句三、oracle中SQL常用函數(shù)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.記錄狀態(tài) 0 And a.執(zhí)行狀態(tài) 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.記錄狀態(tài) 0 And a.執(zhí)行狀態(tài) 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內(nèi)書寫數(shù)據(jù)源 2、報表工具新增報表 3、設計報表-新增數(shù)據(jù)源 4、設計報

17、表-設置參數(shù)條件 5、設計報表-驗證數(shù)據(jù)源 6、設計報表-設置數(shù)據(jù)表格 7、設計報表-調(diào)整報表格式 8、保存報表 9、發(fā)布報表 10、報表授權 11、報表備份五、報表制作流程 2、報表工具新增報表五、報表制作流程2、報表工具新增報表五、報表制作流程2、報表工具新增報表課間練習 制作一張查詢病人:姓名、性別、年齡、住院號、入院日期、出院日期 的報表。 涉及到的表【病人信息】、【病案主頁】 需要加的條件參數(shù):入院日期、入院科室,要求科室名稱能通過簡碼模糊查詢。 分別發(fā)布到:【導航臺】菜單與【病人入出管理】模塊內(nèi)菜單。 授權至角色【住院結帳員】課間練習2 制作一張查詢病人:收費項目名稱、規(guī)格、單位、

18、單價 的報表。(單價是使用現(xiàn)價) 涉及到的表【收費項目目錄】、【收費價目】,兩表之間是以【收費項目目錄】的id和【收費價目】的收費細目id進行連接。 需要加的條件參數(shù):最低價格、項目名稱,要求項目名稱能通過簡碼模糊查詢。 分別發(fā)布到:【導航臺】菜單與【費用基礎模塊】模塊內(nèi)菜單。 授權至角色【住院結帳員】七、優(yōu)化報表的方法原則1:表與視圖的外連接。 表和視圖進行外連接,很可能導致視圖中的查詢無法使用索引,應避免使用視圖,改為直接連接視圖中的表。原則2:避免Select * 為了避免隱式字段轉換導致的資源消耗,除了對子查詢的字段訪問外,其余不得使用Select *。原則3:避免在索引條件字段上使用函數(shù) 在Where子句中的索引條件字段上使用函數(shù)(例如:Upper,Trunc),表達式運算,隱式數(shù)據(jù)類型轉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論