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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

6、QL簡(jiǎn)單基本語法DML數(shù)據(jù)操縱語言(SELECT,DELETE,UPDATE,INSERT)insert into 表名(列1,列2,列3) values(值1,值2,值3)1、增加語句 insert into插入的表名稱執(zhí)行后,需要提交插入內(nèi)容課間練習(xí) 以用戶名:zlhis 密碼:his 進(jìn)入PLSQL 查詢表:【病人信息】、【病案主頁】 select a.姓名,a.性別,b.住院號(hào) from 病人信息 a,病案主頁 b where a.病人id=b.病人id select a.姓名,a.性別,b.住院號(hào) from 病人信息 a,病案主頁 b where a.病人id=b.病人id(+) s

7、elect a.姓名,a.性別,b.住院號(hào) from 病人信息 a,病案主頁 b where a.病人id(+)=b.病人id select 病人id,姓名 from 病人信息 union all select 病人id,to_char(住院號(hào)) from 病案主頁三、oracle中SQL常用函數(shù)1、檢索函數(shù):instrINSTR(C1,C2,I,J)在一個(gè)字符串中搜索指定的字符,返回發(fā)現(xiàn)指定的字符的位置; C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的開始位置,該參數(shù)可省略,默認(rèn)為1 J 第幾次出現(xiàn),該參數(shù)可省略,默認(rèn)為1Select Instr(姓名,李,1,1) ,Instr(

8、姓名,李) From 病人信息意:檢索姓名字段里面的李字,從第一個(gè)字符開始檢索,從第一個(gè)出現(xiàn)李字的位置開始,返回在姓名字段的值里發(fā)現(xiàn)李字的位置。三、oracle中SQL常用函數(shù)2、截取函數(shù):SUBSTRSUBSTR(string,start,count)取子字符串,從start開始,最多取count個(gè)string 被截取的字符串start 從start開始count 最多取count個(gè)Select substr(姓名,instr(姓名,李) + 1,3) From 病人信息李召朋instr(李召朋,李) = 1substr(李召朋,instr(李召朋,李) +1 ,3) =substr(李召朋

9、,2 ,3) =召朋三、oracle中SQL常用函數(shù)3、長(zhǎng)度函數(shù):length length(姓名) -返回姓名字段的長(zhǎng)度4、大寫函數(shù):upper upper(簡(jiǎn)碼) -返回簡(jiǎn)碼的大寫字母zlspellcode(姓名) As 拼音簡(jiǎn)碼,zlwbcode(姓名) as 五筆簡(jiǎn)碼 -返回中文字的英文首字母簡(jiǎn)碼5、簡(jiǎn)碼轉(zhuǎn)換函數(shù):zlspellcode 、 zlwbcode6、去空格函數(shù):TRIM 、 LTRIM、RTRIMTRIM(姓名) -返回去空格后的姓名, LTRIM 左去空, RTRIM 右去空三、oracle中SQL常用函數(shù)7、替換函數(shù):Replace REPLACE(string,s1,

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

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、截?cái)嗪瘮?shù):

12、trunc用法有兩種:TRUNC(NUMBER)表示截?cái)鄶?shù)字,TRUNC(date)表示截?cái)嗳掌?。格式:TRUNC(n1,n2),n1表示被截?cái)嗟臄?shù)字,n2表示要截?cái)嗟侥且晃?。n2可以是負(fù)數(shù),表示截?cái)嘈?shù)點(diǎn)前。注意,TRUNC截?cái)嗖皇撬纳嵛迦?三、oracle中SQL常用函數(shù)14、格式化函數(shù):to_char、to_date、to_numberto_char -字符格式化 to_char(99999) 99999to_date -時(shí)間格式化 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) -計(jì)數(shù) max(id) -返回最大idmin(id) -返回最小id注:1、使用聚合函數(shù)時(shí),查詢的非聚合函數(shù)之外的列必須在句末加group by進(jìn)行分組 ,如: select sum(金額) as 總金額,操作員姓名 from 門診費(fèi)用記錄 group by 操作員姓名 2、聚合函數(shù)不能放在where 條件子句內(nèi),

14、應(yīng)用having 子句三、oracle中SQL常用函數(shù)16、排序:order byselect 列1,列2 from 表名order by 列1,列2 desc -首先以列1升序排列,再以列2倒序排列四、SQL語句示例講解Select b.編碼, b.名稱 As 項(xiàng)目, c.名稱 As 科室, Sum(a.金額) As 金額From (Select a.收入項(xiàng)目id, a.開單部門id, Sum(a.實(shí)收金額) As 金額 From Zlhis.門診費(fèi)用記錄 a Where a.記錄性質(zhì) = 1 And a.記錄狀態(tài) 0 And a.執(zhí)行狀態(tài) 9 And a.登記時(shí)間 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.收入項(xiàng)目id, a.開單部門id Having Sum(a.實(shí)收金額) 0) a, Zlhis.收入項(xiàng)目 b, Zlhis.部門表 cWhere a.開單部門id = c.Id And b.Id = a.收入項(xiàng)目idGroup By b.編碼, b.名稱, c.名稱Order By b.編碼四、SQL語句示例講解Select a.收入項(xiàng)目id, a.開單部門id, Sum

16、(a.實(shí)收金額) As 金額From Zlhis.門診費(fèi)用記錄 aWhere a.記錄性質(zhì) = 1 And a.記錄狀態(tài) 0 And a.執(zhí)行狀態(tài) 9 And a.登記時(shí)間 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.收入項(xiàng)目id, a.開單部門idHaving Sum(a.實(shí)收金額) 0五、報(bào)表制作流程 1、在PLSQL內(nèi)書寫數(shù)據(jù)源 2、報(bào)表工具新增報(bào)表 3、設(shè)計(jì)報(bào)表-新增數(shù)據(jù)源 4、設(shè)計(jì)報(bào)

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論