表t的字段主要有:
加工单号,生产计划号,物料编码,加工数
就是开加工单,记录加工某生产计划号的某物料的加工数。现在要列出上列所有字段数据,并且每一条记录,都外加一个汇总计算列:已开加工单总数。已开加工单总数,就是将生产计划号相同、物料编码相同的加工数,汇总起来。
结果类似于:
加工单号   生产计划号  物料编码  加工数  已开加工单总数
1001      P2012001  A0011     5        20
1002      P2012001  A0011     15       20
SQL语句应该如何写?叩谢!

解决方案 »

  1.   


    select
        加工单号,
        生产计划号,
        物料编码,
        加工数,
        已开加工单总数=(
                         select 
                             sum(加工数) 
                         from 
                             表t b 
                         where 
                             a.生产计划号相同=b.生产计划号相同 and a.物料编码=b.物料编码
                         )
    from
        表t a
      

  2.   

    select A.*,B.num as 已开加工单总数
    from TB A
    inner join (select 生产计划号,物料编码,sum(加工数) as num from TB group by  生产计划号,物料编码) B
    on A.生产计划号 = B.生产计划号 and A.物料编码=B.物料编码
      

  3.   

    select 加工单号,生产计划号,物料编码,加工数,(select SUM(加工数) from T where 生产计划号=a.生产计划号 and 物料编码=a.物料编码) as  已开加工单总数
    from T as a