50個查詢系列-第13個查詢:把“SC”表中“葉平”老師教的課的成績都更改為此課程的平均成績;


UPDATE tblscore SET tblscore.Score=

(


-- 這里開始算葉平的平均值
SELECT AVG(tt.aa) FROM 
(
SELECT  tblscore.Score aa FROM tblscore WHERE
tblscore.CourseId=
( 

SELECT tblcourse.CourseId FROM tblcourse WHERE tblcourse.CourseId=(
SELECT tblteacher.TeaId FROM tblteacher WHERE tblteacher.TeaName='葉平' )
))tt -- 算出葉平教得課程的平均值


 
 
 
 )
 WHERE tblscore.CourseId=
 
 (SELECT tblcourse.CourseId FROM tblcourse WHERE tblcourse.CourseId=(
SELECT tblteacher.TeaId FROM tblteacher WHERE tblteacher.TeaName='葉平' ))-- 葉平上課的id

 

 

 

 

 

 

答案的寫法:

 

Select * Into Sc From tblScore
 go
 Update Sc Set Score=(Select Avg(Score) From tblScore s1 Where s1.CourseId=sc.CourseId) 
  Where CourseId IN
   (Select CourseId From tblCourse cs INNER JOIN tblTeacher tc ON cs.TeaID=tc.TeaID WHERE TeaName ='葉平')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM