中联报表数据源向Oracle视图数据源的平滑转换
文章用途
工作涉及到中联报表数据源与Oracle视图数据转换的问题,今天举个例子,作为大家工作的参考,希望对大家有点启发和帮助。
中联报表数据源
sql
--电子钱包
SELECT a.结帐ID, a.操作员编号, a.操作员姓名, a.结算方式, a.病人ID,b.人员姓名,b.就诊ID,b.险种类型,b.人员类别,b.医疗类别,d.统筹区号,
0 AS 个人帐户, 0 As 公补基金, 0 As 居民大病, 0 As 企业补助,0 As 统筹支付,0 As 医疗救助,0 As 职工大病,
0 As 现金,0 As 自助聚合支付, 0 As 自助银行卡,0 As 微信,0 As 支付宝小程序,0 疾病救助绿色通道, 0 As MIS手工录入, 0 As 地方医保,0 As 共济帐户,0 AS 倾斜救助, 0 AS 政府兜底基金,0 AS 其他基金,
0 As 医保ALI, 0 As 医保BANK, 0 As 医保WX, 0 As 先医后付, sum(C.基金支付金额) AS 电子钱包
FROM ( SELECT DISTINCT 结帐ID,操作员编号,操作员姓名, '电子钱包' AS 结算方式, 病人ID
FROM 门诊费用记录
WHERE 记录性质 = 1 AND 操作员姓名||'' [0] AND 登记时间 Between [1] and [2] ) a, 平台结算信息 b, 平台结算明细 c,Yhis.保险结算记录 d
WHERE a.病人id = b.病人id And a.结帐id = b.结帐id AND b.险类 = c.险类 AND b.病人ID = c.病人ID AND b.结帐ID = c.结帐ID AND c.基金支付类型 = '9999981'
AND b.险类 = 888 AND a.病人id = d.病人id AND b.病人id = d.病人id And a.结帐id = d.记录Id AND d.险类 = 888
Group By a.结帐id, a.操作员编号, a.操作员姓名, a.结算方式, a.病人id,b.人员姓名,b.就诊ID,b.险种类型,b.人员类别,b.医疗类别,d.统筹区号
Oracle视图数据源
sql
--电子钱包
SELECT a.收款时间, a.结帐id, a.操作员编号, a.操作员姓名, a.结算方式, a.病人ID,b.人员姓名,b.就诊ID,b.险种类型,b.人员类别,b.医疗类别,d.统筹区号,
0 AS 个人帐户, 0 As 公补基金, 0 As 居民大病, 0 As 企业补助,0 As 统筹支付,0 As 医疗救助,0 As 职工大病,
0 As 现金,0 As 自助聚合支付, 0 As 自助银行卡,0 As 微信,0 As 支付宝小程序,0 疾病救助绿色通道, 0 As MIS手工录入, 0 As 地方医保,0 As 共济帐户,0 AS 倾斜救助, 0 AS 政府兜底基金,0 AS 其他基金,
0 As 医保ALI, 0 As 医保BANK, 0 As 医保WX, 0 As 先医后付, sum(C.基金支付金额) AS 电子钱包
FROM ( SELECT DISTINCT max(发生时间) AS 收款时间, 结帐ID,操作员编号,操作员姓名, '电子钱包' AS 结算方式, 病人ID
FROM 门诊费用记录
WHERE 记录性质 = 1 AND 操作员姓名 IS NOT NULL AND 登记时间 > Sysdate - 70
GROUP BY 结帐ID,操作员编号,操作员姓名, 病人ID
) a, 平台结算信息 b, 平台结算明细 c,Yhis.保险结算记录 d
WHERE a.病人id = b.病人id And a.结帐id = b.结帐id AND b.险类 = c.险类 AND b.病人ID = c.病人ID AND b.结帐ID = c.结帐ID AND c.基金支付类型 = '9999981'
AND b.险类 = 888 AND a.病人id = d.病人id AND b.病人id = d.病人id And a.结帐id = d.记录Id AND d.险类 = 888
Group By a.收款时间, a.结帐id, a.操作员编号, a.操作员姓名, a.结算方式, a.病人id,b.人员姓名,b.就诊ID,b.险种类型,b.人员类别,b.医疗类别,d.统筹区号