建表Department字段名         中文名称         类型            长度      备注
depid          部门号           变长字符        10        主见
depname        部门名称         变长字符        
depcj          部门平均成绩     负电性保留2为小数
表Employee
字段名         中文名称         类型            长度      备注
empid          员工号           变长字符        10         主见
name           姓名             变长字符        10
depid          部门编号         变长字符        10
cj             成绩             负电性保留2为小数
xorder         名次             整形
向Department插入两条数据
部门号        部门名称
A001          人力
A002          财务向Employee插入数据
员工号         姓名          部门号           成绩
001            张三          A001              90
002            李司          A001             90
003            王五          A001              80
004            张飞          A002              70
005            刘备          A002              60 
006            关于          A002              50写存储过程SP_Calc
a,求葛布们的平均成绩,并更新到department表depcj字段中
b,求员工的名次,并保存到employee表xorder字段中
排序规则如下员工分数     名次
张三=90       1
李四=90       1
王五=80       3
张飞=70       4

解决方案 »

  1.   

    a,求葛布们的平均成绩,并更新到department表depcj字段中--update a
    set depcj = isnull9b.depcj  ,0)
    from Department a
    left join (
    select depid,avg(成绩) as depcj  
    from Employee
    group by depid) b
    on a.depid = b.depid
      

  2.   

    求员工的名次,并保存到employee表xorder字段中 --update a
    set xorder =(select count(1) from employee where empid = a.empid and cj>= a.cj)
    from employee a