找champion寻champion
请问如何找出某个项目冠军的名字, 
 如何找出总积分最高的系名。 
 因为比较难,我认为,所以我只好借助视图。可如 
 create   view   champion 
 as    
 select   项目编号,max(积分) 
 from   成绩 
 group   by   项目编号 
 却不能找出运动员编号。   
 create   table   运动员 
 (	运动员编号   char(4)primary   key   , 
 	运动员姓名   char(20)   not   null, 
 	运动员性别   char(2)check   (运动员性别   in( '男 ', '女 ')), 
 	所属系名   char(20)   not   null 
 )   
 create   table   项目 
 (	项目编号   char(4)primary   key, 
 	项目名称   char(20), 
 	项目比赛地点   char(10) 
 )   
 create   table   成绩 
 (	运动员编号   char(4), 
 	项目编号   char(4), 
 	积分   smallint   check(积分   in(6,4,2,0)), 
 	primary   key(运动员编号,项目编号), 
 	foreign   key   (运动员编号)   references   运动员(运动员编号) 
 	on   update   cascade 
 	on   delete   cascade, 
 	foreign   key   (项目编号)   references   项目(项目编号) 
 	on   update   cascade 
 	on   delete   cascade 
 ) 
------解决方案----------------------先创建这样一个视图vi 
 create view vi 
 as  
 select c.项目编号 
 ,x.项目名称 
 ,c.运动员编号 
 ,y.运动员名称 
 ,y.运动员性别 
 ,y.所属系名 
 ,c.积分 
 from 成绩 c join 运动员 y 
 on c.运动员编号=y.运动员编号 
 join 项目 x 
 on c.项目编号=x.项目编号   
 --某个项目冠军的名字,比如“男子跳高” 
 select 运动员姓名 
 from vi 
 where 积分=(select max(积分) from vi where 项目名称= '跳高 ' and 运动员性别= '男 ')