場景:需要根據部門(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...