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');

解决方案 »

  1.   

    select (c.price * b.ITEM_COUNT) "应收", 这里不要sum吗?
      

  2.   

    select a.RECIEPT_NUMBER,sum(c.price * b.ITEM_COUNT) 应收, sum(max(a.RECIEPT_AMOUNT)) over(partition by a.RECIEPT_NUMBER) 实收
    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
      

  3.   

    SELECT SUM(RECIEPT_AMOUNT) 实收金额 FROM T_DC_DCINF WHERE 日期条件
    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 = 日期条件上面两个结果的差就是优惠金额。
      

  4.   

    beckhambobo(beckham)写的sql没看懂!!实收这样算是什么意思?