select *
from slorm a,(
select sorm_no,
sord_amount=sum(sord_amount),
sodd_amount=sum(sodd_amount),
_amount=sum(sord_amount),
sodd_price=avg(sodd_price),
sodd_sum=sum(sodd_sum)
from(
select sorm_no,
sord_amount,
sodd_amount=0,
sord_amount,
sodd_price=0,
sodd_sum=0
from sorm_no
union all
select sorm_no,
sord_amount=0,
sodd_amount,
-sodd_amount,
sodd_price,
sodd_sum
from slsodd
)a group by sorm_no
)b where a.sorm_no=b.sorm_no

解决方案 »

  1.   

    另外一个问题:现在有一个窗体w_sl_sorm,该窗体有两个数据窗体,分别是dw_master和dw_detail,要求在保存前进行以下检查判断:
    1、订单编号不能重复
    2、项次不能重复
    3、订单数量、金额不能小于0,
    4、明细的金额要汇总到主表中的sorm_amount 
    dw_master对应slsorm表,dw_detail对应slsord表 
    用脚本如何实现 ???
      

  2.   

    检查的问题应该是你自己在程序中实现,除非你把必要的数据传给SQL,否则SQL脚本根本无法获取你的数据窗体的信息,自然无法处理.
      

  3.   

    select b.sord_amount,c.sodd_amount,(b.sord_amount-c.sodd_amount)as  未发货数量,b.sodd_price, b.sodd_sum
    from slorm a,slsord b ,slsodd c where a.sorm_no=b.sorm_no and b.sorm_no=c.sorm_no