mysql 多表關聯更新資料

2021-10-23 11:31:26 字數 696 閱讀 2195

場景:需要根據部門(department)表的city_id更新對應user(使用者表)的city_id欄位的值,使用者表與部門表的邏輯外來鍵(user表的dept_id)-至於為什麼這樣做你別管。user-使用者表 department-部門表 enabled-是否已刪除

update

`user

` uinner

join

(select u.id,d.city_id from department d inner

join

`user

` u on u.dept_id=d.id where u.enabled=

0and d.enabled=

0) t

on t.id=u.id

set u.city_id=t.city_id

where

u.enabled=

0and u.dept_id is

notnull

;

示例 2:

update

order o

inner

join

product_item i on o.itemid=i.id

set o.saleprice=i.saleprice

多表關聯更新

用優惠表裡面的70006569的優惠的開始時間 來更新lik.temp yangmm 1115 discnt 的開始時間。這就出現問題了第乙個問題 同乙個使用者的70006569 優惠的開始時間可能有好幾個 取哪乙個?這就需要rank 函式來解決。第二個問題更新的時候會出現無法將null值插入.這個...

oracle UPDATE 多表關聯更新

update customers a set city name select b.city name from tmp cust city b where b.customer id a.customer id where exists select 1 from tmp cust city b ...

MySQL SQLServer多表關聯更新

方法一 join update t image i inner join t user u on i.user id u.id set i.user name u.name 方法二 子查詢 update t image i set i.user name select name from t use...