用乙個表的記錄更新另外乙個表

2021-06-05 16:26:20 字數 960 閱讀 2548

用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...