既是平均分配,feedetail表中有人员的记录就行了,fee字段不需要。

解决方案 »

  1.   

    谢谢!如果不要,在统计的时候,岂不是要进行计算?SQL语句怎么写?本来统计的效率可能比较低了,加入了计算岂不是效率更低?另外,我这个是简化模型,实际的情况,单个任务由多人完成时,不一定是平均分配的(分配跟工作人员自身的级别有关系),所以,我在分配表中加入了Fee字段
      

  2.   


    查询:select empid,sum(fee) as sf
    from feedetail c join
         (  select taskid,totalfee/count(*) as fee
            from task a join feetail b on a.taskid=b.taskid
            where FinishDate between '2004-6-1' and '2004-6-30'
            group by taskid,totalfee
         ) d
         on c.taskid=d.taskid
      

  3.   


        不平均分配,如果有固定的算法,比如某级别的人员占20%之类,也可以不要fee字段,不过要另加一个分配比率表。我认为这样仍比加fee字段更好。
      

  4.   

    谢谢 victorycyz(中海) 兄!消化吸收中不过,不知道有没有更好的数据库表的设计方法