select person_id,month,salary - salary_paid as salary_remain
from salary join salary_paid on person_id = salary_paid.person_id
group by person_id,month
order by person_id,month

解决方案 »

  1.   

    select 存储实际工资.员工,存储实际工资.月,实际工资,isnull(实发工资,0) as 实发工资 ,实际工资-isnull(实发工资,0) as 应发工资
    from 
    存储实际工资
    left join 存储实发工资 on 存储实际工资.员工 = 存储实发工资.员工 and 存储实际工资.月 = 存储实发工资.月
      

  2.   

    谢谢楼上的回复,我先把表列出来:table1:
    va1,va2,va3,va4,va5,ca6,ia1,ia2table2:
    vb0,vb1,vb2,vb3,vb4,vb5,vb6,ib1,ib2注:以v打头的表示数据类型为varchar,c打头表示数据类型为char,i打头表示数据类型为int
    数据可能重复现有下面的SQL语句(有错):
    select a.va1,a.va2,a.va3,a.va4,a.va5,a.ca6,sum(a.ia1)-sum(b.ia1),sum(a.ia2)-sum(b.ia2)
    from table1 a,table2 b
    where (a.va1 in(select vb1 from table2 where vb0='已知变量') and
      a.va1=b.vb1 and a.va2=b.va2 and a.va3=b.vb3 and a.va4=b.vb4 and a.va5=b.vb5 and a.ca6=b.cb6
    group by a.va1,a,va2,a.va3,a.va4,a.va5,a.cb6计算出来的数据为正确数据的倍数,比如本来是4,结果成了8或者12