Update 兩個表之間資料更新

2021-05-18 05:13:00 字數 1122 閱讀 8267

update 兩個表之間資料更新

今天遇到乙個問題,就是在原來的乙個表的基礎上增加兩個字段,並且根據歷史資料和乙個計算方法把這兩個字段補齊。

到網上查了一下。

一、當用乙個表中的資料來更新另乙個表中的資料,t-sql提供多種寫法(下面列出了二種),但建議用第一種寫法,雖然傳統,但結構清晰。

並且要注意,當用乙個表中的資料來更新另乙個表中的資料時,二個表一定要有關聯!

1.update t1 

set t1.c2 = t2.c2

from t2

where t1.c1 = t2.c1

2.update t1 

set t1.c2 = t2.c2

from t1 inner join t2 

on t1.c1 = t2.c1

二、from 子句中指定的表的別名不能作為 set column_name 子句中被修改欄位的限定符使用。

例如,下面的內容無效:

update titles

set t.ytd_sales = t.ytd_sales + s.qty

from titles t, sales s

where t.title_id = s.title_id

and s.ord_date = (select max(sales.ord_date) from sales)

若要使上例合法,請從列名中刪除別名 t 或使用本身的表名。 1.

update titles

set ytd_sales = t.ytd_sales + s.qty

from titles t, sales s

where t.title_id = s.title_id

and s.ord_date = (select max(sales.ord_date) from sales)

2.update titles

set titles.ytd_sales = t.ytd_sales + s.qty

from titles t, sales s

where t.title_id = s.title_id

and s.ord_date = (select max(sales.ord_date) from sales)

Update 兩個表之間資料更新

一 當用乙個表中的資料來更新另乙個表中的資料,t sql提供多種寫法 下面列出了二種 但建議用第一種寫法,雖然傳統,但結構清晰。並且要注意,當用乙個表中的資料來更新另乙個表中的資料時,二個表一定要有關聯!1.update t1 set t1.c2 t2.c2 from t2 where t1.c1 ...

關於兩個表更新資料的問題 update

我現在有兩張表.a與b a的字段有id,name,pwd.b的字段有userid,password 現在我想把a中pwd更新成b中的password a中的id與b中的userid都是相對應於學生的id sql語句應該怎麼寫呢?update a set pwd select password fro...

關於兩個表更新資料的問題 update

我現在有兩張表.a與b a的字段有id,name,pwd.b的字段有userid,password 現在我想把a中pwd更新成b中的password a中的id與b中的userid都是相對應於學生的id sql語句應該怎麼寫呢?update a set pwd select password fro...