用table_1的address, phone_number更新table_2的address,phone_number,
注意:
1.set 後面加上要更新的列,有多個要更新的列時,加上多個列,
2.where 後面加上table_1和table_2的關聯列,有多個關聯列時,加上多個列.
3.rownum用來處理取到的值不止一條時,用第乙個取到的值來更新.
處理流程:
先從table_2表取一條資料,通過這條資料去table_1表裡面找,找到0條資料就不更新,找到1條資料就更新,找到2條以上就報錯.
如果取的這條資料不報錯,就接著取下一條,一直迴圈到所有資料都取完,如果迴圈過程中任何一條報錯,則中止執行,所有的更新都不生效.
示例1如下:
--直接用table_1的值填充table_2
update table_2
set (table_2.address, table_2.phone_number) =
(select table_1.address, table_1.phone_number
from table_1
where table_2.id = table_1.id
and table_2.name = table_1.name
and rownum = 1
);
示例2如下:
--用table_1的值計算後填充table_2
update table_2 a
set sumcome =
(select sum (come)
from table_1 b
where b.id = a.id);
根據乙個表的字段,更新另外乙個表的字段
update table a set latesttm u.tm,latestdata u.data from select from table b inner join select max tm newesttm from table b group by stcd v on drp.tm v...
SQL用另外乙個表的資料更新本表資料
update s set s.classbid lc.itemid from dbo.lv servers as s inner join dbo.lv linechannel as lc on s.classsid lc.classid where s.classbid 0 sql用另外乙個表的資...
用乙個表去更新另乙個表
朋友今天問我乙個問題 有兩張資料表 bureau area code 和 county code,我想用town code擷取前6位去和county code擷取前6位查詢,查到對應的county name該咋寫?下面先是兩張表結構 1 create table bureau area code 2...