联合查询

客户提出打印费用流水帐的要求,要解决的问题是药费和处置费并不在一个表里边,而且字段名字也不相同,感觉解决办法很多。首先想到的是水晶报表的子报表功能。后来放弃了。因为这样比较麻烦。所以做了一个联合查询的视图:
alter view n_ihbill
as
SELECT CAST(ihformula.InPatientNo AS varchar) AS 住院号, i.Name AS 姓名, i.Age AS 年龄,
      i.Sex AS 性别, i.Dept AS 科室, m.MName AS 项目名称, IHFormula.Quantity AS 数量,
      IHFormula.tcost AS 金额, n_MedClass.type AS 类别,
      IHFormula.FormulaTime AS 日期
FROM IHFormula LEFT OUTER JOIN
      Medicine m ON m.MediNo = IHFormula.MediNo LEFT OUTER JOIN
      ihpatientlist i ON IHFormula.InPatientNo = i.InPatientNo LEFT OUTER JOIN
      n_MedClass ON m.MedClass = n_MedClass.MedClass
WHERE IHFormula.flgpay>0
UNION ALL
SELECT CAST(i.InPatientNo AS varchar) AS 住院号, i.Name AS 姓名, i.Age AS 年龄,
      i.Sex AS 性别, i.Dept AS 科室, Payprice.Treat AS 项目名称, NULL AS 数量,
      IHTreat.TCost AS 金额, Receipt_Item.Class AS 类别, IHTreat.TreatTime AS 日期
FROM ihpatientlist i INNER JOIN
      IHTreat INNER JOIN
      Payprice ON IHTreat.TrNo = Payprice.TrNo ON
      i.InPatientNo = IHTreat.InPatientNo INNER JOIN
      Receipt_Item ON Payprice.TrClsNo = Receipt_Item.ClsNo
这样做起来就easy了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值