第一个报表:
SELECT a.生产日期,
       SUM(a.生产件数) AS 日总产量,
       SUM(a.生产件数*b.计件单价) AS 日计件总工资,
       SUM(a.加班工时*b.加班单价) AS 加班总工资
FROM 表1 a 
LEFT JOIN 表2 b ON a.生产产品名称=b.产品名称 AND a.生产产品规格=b.产品规格
GROUP BY a.生产日期
输出结果:
生产日期 日总产量 日计件总工资 加班总工资
2014-05-24 00:00:00.000 250 200.00 20.00
2014-05-25 00:00:00.000 100 50.00 0.00第2张报表不明白你的取数逻辑。

解决方案 »

  1.   

    操作工就是人员ID撒,每人每天的总工资总产量,你就按日和人分组统计,SQL:
    SELECT a.生产日期,
           a.人员ID,
           SUM(a.生产件数) AS 日总产量,
           SUM(a.生产件数*b.计件单价) AS 日计件总工资,
           SUM(a.加班工时*b.加班单价) AS 加班总工资
    FROM 表1 a 
    LEFT JOIN 表2 b ON a.生产产品名称=b.产品名称 AND a.生产产品规格=b.产品规格
    GROUP BY a.生产日期,a.人员ID