在我的數據庫中,教師有一個TeacherPIN,Name和Pay。我的數據庫也有一個Class,它包含一個ClassPIN以及一個TeacherPIN和Student,它提供了TeacherPIN以及幾個ClassPIN。我想根據他們是否有超過25名學生在某個班上更新某位教師的工資,但我堅持了。目前,我正在做:基於幾個參數的MySQL更新
update Teacher
set Pay = Pay + 1000
where (TeacherPIN = c.TeacherPIN from Class c
and c.ClassPIN = '1010')
and (select count(s.ClassPIN) from Student s
where s.ClassPIN = '1010') >= 25;
我知道這可能是非常錯誤的,很想朝正確的方向輕推。
看看http://stackoverflow.com/questions/806882/update-multiple-tables-in-mysql-using-left-join並記住,你可以在這裏使用任何類型的連接,而不僅僅是左連接,這應該讓你更接近你想要的東西。 – 2012-02-07 04:48:11
您能詳細介紹學生表嗎?提供它包含的所有字段,並請解釋爲什麼它有一個引用老師表 – 2012-02-07 05:52:15