select (c.price * b.ITEM_COUNT) "应收", sum(a.RECIEPT_AMOUNT) "实收",(c.price * b.ITEM_COUNT - sum(a.RECIEPT_AMOUNT)) "优惠"
from T_DC_DCINF a, T_DC_DETAIL b, v_charge_item c
where a.RECIEPT_NUMBER = b.RECIEPT_NUMBER
and b.CS_CNUMBER = c.cs_cnumber
and a.DC_DATE >= to_date('20050501','yymmdd')
and a.DC_DATE < to_date('20050508','yymmdd');
from T_DC_DCINF a, T_DC_DETAIL b, v_charge_item c
where a.RECIEPT_NUMBER = b.RECIEPT_NUMBER
and b.CS_CNUMBER = c.cs_cnumber
and a.DC_DATE >= to_date('20050501','yymmdd')
and a.DC_DATE < to_date('20050508','yymmdd');
from T_DC_DCINF a, T_DC_DETAIL b, v_charge_item c
where a.RECIEPT_NUMBER = b.RECIEPT_NUMBER
and b.CS_CNUMBER = c.cs_cnumber
group by a.RECIEPT_NUMBER
SELECT SUM(ITEM_COUNT*(SELECT v_charge_item.price FROM v_charge_item,T_DC_DETAIL WHERE T_DC_DETAIL.CS_CNUMBER = v_charge_item.cs_cnumber)) FROM T_DC_DETAIL,T_DC_DCINF WHERE T_DC_DCINF.RECIEPT_NUMBER = T_DC_DETAIL.RECIEPT_NUMBER
AND T_DC_DCINF.DC_DATE = 日期条件上面两个结果的差就是优惠金额。