create or replace view vw_sf_yjywmx (yjdjh0, yjfzh0, brid00, ghid00, ghh000, brxm00, xb0000, kdksbh, bmmc00, yjks00, yjksmc, zxr000, zxrxm0, kdysbh, kdysxm, fpxmid, bh0000, fpxmmc, sfdm00, sfxmmc, xmgg00, xmdj00, xmdw00, xmsl00, amount, id0000, zfje00, jzje00, gfje00, qzfje0, jmje00, ysfje0, zfbl00, cxbz00, zldccf, kdrq00, kdsj00, yszjhm, zffsbz) as select A.YJDJH0, --医技单据号 A.YJFZH0, --医技分组号 A.BRID00, --病人ID A.ZYGHID, --病人挂号ID A.ZYHGHH, --病人挂号号 A.BRXM00, --病人姓名 A.XB0000, --病人性别 A.KDKSBH, --开单科室编号 B.BMMC00, --开单科室名称 A.YJKSBH, --医技科室编码 F.BMMC00, --医技科室名称 A.ZXR000, --执行人编号 A.ZXRXM0, --执行人姓名 A.KDYS00, --开单医生编号 A.KDYSXM, --开单医生姓名 E.FPXMID, --发票项目ID E.BH0000, --发票项目编号 E.XMMC00, --发票项目名称 D.SFXMID, --收费代码 D.XMMC00, --收费项目名称 '次', --规格 --decode(nvl(C.JJJE00,0),0,nvl(D.SFJE00,0),C.JJJE00), --单价 decode(nvl(C.JMJE00,0),0,decode(nvl(C.JJJE00,0),0,nvl(D.SFJE00,0),C.JJJE00),nvl(C.JJJE00,0)), --如果有减免,则还是按JJJE00算单价 nvl(d.dw0000, '次'), --单位 C.SFCS00*C.SL0000, --数量 --round(nvl(C.JJJE00,0)*C.SFCS00*C.SL0000,2), --round(decode(nvl(C.JJJE00,0)*C.SFCS00*C.SL0000,0,nvl(D.SFJE00,0)*C.SFCS00*C.SL0000,nvl(C.JJJE00,0)*C.SFCS00*C.SL0000),2), --金额 --如果有减免,按上一种算法,否则按下一种算法 decode(nvl(C.JMJE00,0),0,round(decode(nvl(C.JJJE00,0)*C.SFCS00*C.SL0000,0,nvl(D.SFJE00,0)*C.SFCS00*C.SL0000,nvl(C.JJJE00,0)*C.SFCS00*C.SL0000),2),round(nvl(C.JJJE00,0)*C.SFCS00*C.SL0000,2)), C.ID0000, --ID0000 C.ZFJE00, --自费金额 C.JZJE00, --记帐金额 C.GFJE00, --公费金额 C.QZFJE0, --首自付金额 C.JMJE00, --减免金额 C.YSFJE0, --原收费金额 C.ZFBL00, --自付比例 C.CXBZ00, --冲销标志 'Z'正常,'-'冲销记录,'+'被冲记录 A.ZLDCCF, A.KDRQ00, A.KDSJ00, (select YSZJHM from bm_ygbm00 where ygbh00=A.KDYS00 and rownum=1), --开单医生证件号码 C.ZFFSBZ --自费发送标志 from YJ_YW0000 A,BM_BMBM00 B,YJ_YWJJ00 C,BM_YYSFXM D,BM_FPXM00 E,BM_BMBM00 F where A.YJDJH0 = C.YJDJH0 and A.KDKSBH = B.BMBH00 and A.YJKSBH = F.BMBH00(+) and A.XMZT00 = '1' --已计价 and C.SFXMID = D.SFXMID and D.MZFPID = E.FPXMID ;