前天参加面试时考了这样一道数据库题目,请帮我看一下,该怎样做呢?

问题:
有3个表,学生表Student(StudentId,StudentName)、课程表Course(CourseId,CourseName)、成绩表Grade(StudentId,CourseId,Grade)。

写出“将所有同学的数学成绩的平均分改成张三同学的数学成绩的平均分”的Sql语句。

-------------------------------------------------------------------------

“所有同学的数学成绩的平均分”我可以写出来,“张三同学的数学成绩的平均分”我也可以写出来。
但是“所有同学的数学成绩的平均分”不是成绩表Grade中的字段呀,没办法用update语句修改呀。怎么能够“改成”张三同学的数学成绩的平均分呢?

都不知道这道题该怎么做,请帮指点一下,谢谢了!
[423 byte] By [wnnnnnn6-都不知道以后的路怎样走?!] at [2008-1-9]
# 1
难道数学成绩还不止一个?晕
# 2
考N次阿
出题的人真无聊
还是加菲猫好玩
# 3
到底该怎么做呢?
# 4
select * from Student select * from Course select * from Grade
update grade set GradeCount=(select avg(GradeCount) from Grade where CourseID=2) where studentID=(select SID from Student where SName='b')
and courseID=2 2是CourseId表示数学
sunshichun at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 5
我没看懂这道题的意思。。。
cfanliang-扁豆精灵 at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 6
我看这道题出得有点问题。
# 7
问题:
有3个表,学生表Student(StudentId,StudentName)、课程表Course(CourseId,CourseName)、成绩表Grade(StudentId,CourseId,Grade)。

写出“将所有同学的数学成绩的平均分改成张三同学的数学成绩的平均分”的Sql语句。
-----------------------------------
应该是将所有同学的数学成绩平均分改成张三的数学成绩吧.如果是这样的话
update Grade
set grade=a.avg_grade
from grade g join Student s
on g.studentID=s.studentID and s.studentName='zhangsan'
join Course c on g.couseID=c.couseID and c.couseName='shuxue'
join (select avg(grade) as avg_grade from garde where couseID in(select couseID from couse where couseName='shuxue')) a

-------没有测试过---------
好象太复杂了点,老大在旁边,不敢在论坛逗留
joy_jiangyan-lookingfor at 2007-10-19 > top of Msdn China Tech,MS-SQL Server,疑难问题...
# 8
张三同学的数学成绩的平均分?