SELECT * FROM (SELECT b.ypnm00,b.ypbm00, b.ypmc00, a.ypgg00, ROUND (SUM (fcsl00 * zhl000 / b.k2j000), 4) fcsl00, b.kcdw00, b.pysm00 FROM yf_ypmxz0 a, bm_yd0000 b WHERE b.ypnm00 = a.ypnm00(+) AND yfbmbh IN :药房 AND jzrq00 >= :开始日期 AND jzrq00 <= :结束日期 AND jzxz00 = 'C' AND rclxmc IN ('处方出库', '门诊处方', '住院处方') GROUP BY b.ypnm00,b.ypbm00, b.ypmc00, a.ypgg00, b.kcdw00, b.pysm00) union SELECT d.ypnm00, d.ypbm00, d.ypmc00, d.ypgg00, 0, d.kcdw00, d.pysm00 FROM yf_ypkcxx c, bm_yd0000 d WHERE c.ypnm00 = d.ypnm00 AND d.tzrq00 IS NULL AND c.yfbmbh IN :药房 AND c.ypnm00 NOT IN ( SELECT ypnm00 FROM yf_ypmxz0 WHERE jzrq00 >= :开始日期 AND jzrq00 <= :结束日期 AND jzxz00 = 'C' AND rclxmc IN ('处方出库', '门诊处方', '住院处方'))