一个简单的业务逻辑:表 A主键:付款批次外键:付款号   一对多:一个付款批次对应多个付款号
表B:主键:付款号
表C:主键:付款账单号  外键:付款号  一对多:一个付款号对应多个付款账单号
原来我的计算都是先算一个付款号下面所有的账单的和,外面嵌套一个查询求出一个付款批次下的和,但是我试了把他们直接通过付款号连接,如果不算和数据记录数量是有问题的,但是和却是对的?请问这是特列,还是一般规律,还是说两张表连接才有这种情况

解决方案 »

  1.   

    没明白你说的意思 表 A主键:付款批次   表B:主键:付款号    表C:主键:付款账单号
              1                 :               N   
                                                    1               :              N         
    这关系很明白呀,         求和就是 左关联后直接把 表C账单相加就行了              
      

  2.   


    select a.付款号,b.money  from a
    left join (select b.付款号,sum(money) monye from b ) b
    on a.付款号=b.付款号