CREATE OR REPLACE VIEW SD_HOSPITAL.VW_YJ_FBFYYZ ( ZLXMID, LBBH00, ZLXMJC, ZLXMBH, PYSM00, WBSM00, DW0000, YBZXLB, YBLBMC, SFJE00, ZFBL00, YBBRLB, FBBH00, SFSFXM, COLOUR, NBLBMC, NBZFBL, ZYMZBZ, GGBZTS, FYID00 ) AS select distinct d.ZLXMID, --项目ID d.LBBH00, --类别编号 d.ZLXMJC, --项目简称 d.ZLXMBH, --诊疗项目编号 d.PYSM00, --拼音首码 d.WBSM00, --五笔首码 d.DW0000, --单位 '0' YBZXLB, --医保中心类别 '自付' YBLBMC, --sum(nvl(c.TCJE00,b.SFJE00)*c.SFCS00) SFJE00, --单价 d.SFJE00, '100%' ZFBL00,--自付比例 '0' YBBRLB,--医保病人类别 1, 'Y' SFSFXM ,--是否收费项目 '0' COLOUR, --d.YBLBMC NBLBMC , --农保类别名称 --d.ZFBL00 NBZFBL, --农保自付比例 d.NBLBMC, d.NBZFBL, d.ZYMZBZ, d.GGBZTS,--substrb(SF_YJ_GETYBGGBZTS(d.ZLXMID,d.FBBH00,d.YBZXLB),1,100) GGBZTS, d.FYID00 from --VW_BM_ZLZD00 A, VW_BM_YYSFXM B, XT_ZLSFGX C, BM_YBFYYZ d where -- C.ZLXMID = A.ZLXMID and B.SFXMID = C.SFXMID and -- d.SFYXSQ='Y' --and a.ZLXMID=d.ZLXMID(+) --and -- and to_char(d.FBBH00)||','||d.YBZXLB||','||d.YBBRLB=nvl((select decode(trim(value0),'N','1,0,0',trim(value0)) from XT_XTCS00 where name00='ZS_KJYZSLRXXSFXSNBMLXX' and rownum=1),'1,0,0') --group by a.ZLXMID, --项目ID -- a.LBBH00, --类别编号 -- a.ZLXMJC, --项目简称 -- a.ZLXMBH, --诊疗项目编号 -- a.PYSM00, --拼音首码 -- a.WBSM00, --五笔首码 -- a.DW0000, --单位 -- d.YBLBMC, -- d.ZFBL00, -- A.ZYMZBZ, -- substrb(SF_YJ_GETYBGGBZTS(d.ZLXMID,d.FBBH00,d.YBZXLB),1,100),a.FYID00 union all select ZLXMID, --项目ID LBBH00, --类别编号 ZLXMJC, --项目简称- ZLXMBH, --诊疗项目编号 PYSM00, --拼音首码 WBSM00, --五笔首码 DW0000, --单位 null YBZXLB, --医保中心类别 null YBLBMC, 0 SFJE00, --单价 '100%' ZFBL00, --自付比例 '0' YBBRLB, --医保病人类别 1, 'N' SFSFXM, --是否收费项目 '0' COLOUR, ' ' NBLBMC, --农保类别名称 ' ' NBZFBL, --农保自付比例 ZYMZBZ , BZ0000 GGBZTS, FYID00 from VW_BM_ZLZD00 where not exists (select ZLXMID from XT_ZLSFGX where ZLXMID = VW_BM_ZLZD00.ZLXMID) and SFYXSQ='Y' /