工序表:
编号   员工编号  计件工资      工作日期
1      1001       320           2006-7-1
2      1001       205           2006-7-2
3      1002       560           2006-7-3
4      1002      510           2006-7-4
零工表:
编号   员工编号  计时工资      工作日期
1        1001      120           2006-7-1
2        1004       205           2006-7-2
3        1005       560           2006-7-4
员工考勤表:
编号 员工编号    工时  加班  请假  旷工    工作日期
1       1001         4    0      0      0         2006-7-1
2       1001         4    0      0      0         2006-7-1
3       1001         8    0      0      0         2006-7-2
4       1004         8    0      0      0         2006-7-2
5      1002         8    0      0      0         2006-7-3
4       1002         8    0      0      0         2006-7-4
4       1005         8    0      0      0         2006-7-4
员工奖罚表:
编号    员工编号  奖励   罚款  
1        1001      5           0
2        1002      0          -3
车间工资表:
编号   员工编号  工时 加班  请假  旷工 计件工资  计时工资  奖励 罚款  总工资  
1      1001       16   0       0    0   525       120      5     0     650    
2      1002       16   0     0   0    1070        0        0    -3    1067     
3      1004       8    0     0   0    0           205      0     0     205      
3      1005       8    0     0   0    0           560      0     0     560  
工序表的计件工资汇总+零工表的计时工资汇总+员工考勤表的考勤数据汇总+员工奖罚表的奖罚数据汇总
生成为车间工资表。我是这样写的,但结果不正确:
INSERT INTO 一车间工资表
      (员工编号, 工时, 加班, 请假, 旷工, 放假, 计件工资, 计时工资,补助,奖金,罚款,保险费)
SELECT DISTINCT 员工编号,
          (SELECT SUM(工作时间)
         FROM 员工考勤表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 工时,
          (SELECT SUM(加班)
         FROM 员工考勤表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 加班,
          (SELECT SUM(请假)
         FROM 员工考勤表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 请假,
          (SELECT SUM(旷工)
         FROM 员工考勤表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 旷工,
   (SELECT SUM(放假)
         FROM 员工考勤表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 放假,
          (SELECT SUM(当日工资)
         FROM 工序表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 计件工资,
(SELECT SUM(应得工资)
         FROM 零工表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 计时工资,
(SELECT SUM(当日补助)
         FROM 工序表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 补助,
(SELECT SUM(奖励)
         FROM 员工奖罚表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 奖金,
(SELECT SUM(罚款)
         FROM 员工奖罚表
         WHERE 员工编号 = y.员工编号 AND 工作日期 BETWEEN '2006-7-1' AND 
               '2006-7-31') AS 罚款,
(SELECT 个人承担金额 FROM 保险表,保险参数表 WHERE员工编号 = y.员工编号 and保险表.保险编号=保险参数表.编号 AND 工作日期 BETWEEN  '2006-7-1'  AND 
               '2006-7-31') AS 保险费用
FROM 员工考勤表 y
大家一块帮忙看一下吧。