本帖最后由 shenmdouyourenjiaole 于 2012-10-15 14:06:06 编辑

解决方案 »

  1.   

    工资明细表:
    年/月份   奖励id 奖励金额 
    2012年9月  1     600    
    2012年9月  2     400
    2012年9月  3     200     

    实际奖励可以计算出来,可以用交叉表显示为你要求格式,动态、静态均可select a.年/月份 ,sum(if(奖励id=1,奖励金额,0)),
    sum(if(奖励id=2,奖励金额,0)),
    sum(if(奖励id=3,奖励金额,0)),
    sum(奖励金额)
    from 工资明细表 a inner join 发放明细表 b on a.年/月份=b.年/月份 group by  a.年/月份
    发放明细表:
    年/月份   是否发放
    2012年9月  未发放
    2012年9月  已发放 
      

  2.   

    1.奖励级别表(奖励ID,金额)
    2.奖励发放表(员工,年月,是否发放)
    3.奖励明细表(明细ID,员工,年月,奖励ID)此设计有利于今后扩展并且满足当前需求