客户欠款单:Billpay
单号    欠款额
001    1000收款单:Get
单号     收款额
001     200
001     100
001     200核销单:HX
单号    核销额
001     200三个单据的单号是相同的,都是根据客户欠款单来的:我要统计出收款单的总值,核销单核销的总值,然后让欠款单减去收款单总值和核销单总值得到客户还欠我多少钱!
根据上面的也就是:1000-500-200=300
也就是我要查询出
单号   总金额    已付款   未付款
001   1000      700     300
不知道怎么实现,我用的是Access的数据库,请各位帮帮忙!

解决方案 »

  1.   

    客户欠款单:Billpay 
    单号    欠款额 
    001    1000 收款单:Get 
    单号    收款额 
    001    200 
    001    100 
    001    200 核销单:HX 
    单号    核销额 
    001    200 select a.单号,欠款,欠款-收款-核销
    from (
    select 单号,sum(欠款) 欠款
    from billpay
    group by 单号) a,
    (select 单号,sum(收款) 收款
    from get
    group by 单号) b,
    (select 单号,sum(核销) 核销
    from HX
    group 单号) c
    where a.单号=b.单号=c.单号这里应该用到外联接,可以用左连接
      

  2.   

    select c.单号,c.欠款额,b.核销额 + a.收款额 as 已付款 from
    (
    (select 单号,sum(收款额) from get group by 单号) a,
    (select 单号,sum(核销额) from HX b group by 单号) b,
    (select 单号,sum(欠款额) from Billpay group by 单号) c 
    where a.单号=b.单号=c.单号
    ) d
      

  3.   

    select A.单号,A.欠款,C.核销,B.收回款,SUM(A.欠款-B.收回款-C.核销) as 还欠款
    from  
    (select 单号,sum(欠款额) as 欠款 from Billpay group by 单号) A, 
    (select 单号,sum(收款额) as 收回款 from fa group by 单号) B,
    (select 单号,sum(核销额) as 核销 from HX group by 单号) C
    where A.单号=B.单号
          and A.单号=C.单号
    group by A.单号,A.欠款,B.收回款,C.核销这是我写的基于ACCESS参考一下.