表1:
部门   考评要素    考评人   总分
售后    合作精神    王明     14
售后    合作精神    李丽     13
售后    创新能力    王明     12
售后    创新能力    李丽     10
财务    合作精神    王明     15
财务    合作精神    李丽     11
财务    创新能力    王明     12表2
名称      分类     总分
售后      部门     
财务      部门     
我想在Delphi里进行如下操作:
首先,将表1中的数据,按部门,将部门各个要素的分加总后,进行算术平均,得出每一考评人的部门得分;
部门得分=(考评人给出的部门总分-最高分-最低分)/(考评人数-2)将计算后的数据插入到表2中;
这个代码怎样写!要不要一个循环呀!

解决方案 »

  1.   

    if not object_id(N't1') is null
    drop table t1
    gocreate table t1(部门 varchar(10),考评要素 varchar(10),考评人 varchar(10),总分 float)
    goinsert into t1(部门,考评要素,考评人,总分)
    select '售后','合作精神','王明',14
    union all 
    select '售后','合作精神','李丽',13
    union all 
    select '售后','创新能力','王明',12
    union all 
    select '售后','创新能力','李丽',10
    union all 
    select '财务','合作精神','王明',15
    union all 
    select '财务','合作精神','李丽',11
    union all 
    select '财务','创新能力','王明',12
    union all
    select '售后','合作精神','王明',14
    union all 
    select '售后','合作精神','李丽',13
    union all 
    select '售后','创新能力','王明',12
    union all 
    select '售后','创新能力','李丽',10
    union all 
    select '财务','合作精神','王明',15
    union all 
    select '财务','合作精神','李丽',11
    union all 
    select '财务','创新能力','王明',12
    union all
    select '售后','合作精神','王明',14
    union all 
    select '售后','合作精神','李丽',13
    union all 
    select '售后','创新能力','王明',12
    union all 
    select '售后','创新能力','李丽',10
    union all 
    select '财务','合作精神','王明',15
    union all 
    select '财务','合作精神','李丽',11
    union all 
    select '财务','创新能力','王明',12
    goselect 部门,考评人,(sum(总分) - max(总分) - min(总分))/(count(总分)-2)
    from t1 
    group by 部门,考评人
      

  2.   

    备注;如果你的总分字段是int类型的;则需要在计算的时候显式转换为浮点类型;
    型如:select 部门,考评人,convert(float,(sum(总分) - max(总分) - min(总分)))/convert(float,(count(总分)-2)) 平均分
    from t1 
    group by 部门,考评人否则,得到的结果会自动取整。
      

  3.   

    如果要有10不同的人对14个部门进行5种考评要素打分,那且不是要每一条数据,都要写出来?要是每次有不同的10人进行评比的话,那....
    在Delphi中能不能有别的比较好的方法解决?
      

  4.   

    什么叫每一条数据都要写出来?
    你基本数据总是要录入的吧?
    再说,这跟delphi有什么关系;纯粹数据库的问题;
      

  5.   

    我想在delphi里,进行数据插入操作!其中表1中的内容是不断增加和变化的,我应该用代码怎样实现?