UPDATE語句:將一個表裏的字段更新到另外一個表的字段裏的語句

在一次成績查詢系統的修改中,改動了一張表,在一張表裏增長了一個字段,如今須要將另一個表的對應ID複製過來,因爲不常用這樣的SQL操做,甚至想到了寫個循環來處理。可是我又以爲SQL應該能夠實現這樣的功能,就查了查手冊,果真簡單,有個update ... from ... 的語法。例子以下: html

表A
id subject_id
1 null
2 null
3 null
4 null
5 null
6 null

表B
sb_id st_id
5 1
2 2
5 3
5 4
2 5
2 6

SQL語句以下: mysql

?
1
UPDATEASETA.subject_id=B.sb_idFROMBWHEREB.student_id=A.id

更新:上面一條語句只適合在mssql server下面用,在mysql裏應該用下面一條: sql

?
1
UPDATEA, BSETA.subject_id=B.sb_idWHEREB.student_id=A.id
 
 
 
 
例子2:
 
MYSQL是這個
update table2 b,(select b.area_id as arid,sum(a.user_amount) as bcount
from table1 a,table2 b
where a.user_area=b.area_id
group by arid) c
set b.count=c.bcount
where b.area_id=c.arid;

還專門裝了個MYSQL測試了下,測試經過。
相關文章
相關標籤/搜索