sqlite多表關聯update

2022-03-04 15:08:17 字數 880 閱讀 8168

sqlite資料庫的update多表關聯更新語句,和其他資料庫有點小不一樣

比如:在sql server中:

用table1的 id 和 table2的 pid,關聯table1 和 table2 ,將table2的num欄位的值賦給table1的num欄位

update table1 

set num1 = t2.num2

from table1 t1 inner join table2 t2

on t1.id=t2.pid;

很容易就關聯起來了

sqlite卻不支援這種關聯,可以這樣:

(1)set時,要將table2的num2的值賦給table1的num1欄位,要select一下table2,並在括號關聯起來

update table1

set num1 = (select num2 from table2 where table2.pid=table1.id)

where...

更新多個欄位時:

update table1

set num1 = (select num2 from table2 where table2.pid=table1.id),

num11 = (select num22 from table2 where table2.pid=table1.id)

where...

(2)where時,也一樣,比如我就將上面的改一下

update table1

set num = 99

where table1.id=(select pid from table2 where table2.pid=table1.id)

SQLSERVER中 多表鏈結的UPDATE 方法

錯誤方式 update 歷史庫存 inner join 平均單價 on 歷史庫存.產品編號 平均單價.產品編號 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷史庫存.期末數量,0 正確方式 update 歷史庫存 set 歷史庫存.期末金額 round 平均單價.領用平均單價 歷...

多表關聯更新

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

oracle update多表關聯

update a.a3 a.a3 b.b3 的問題 表a 結構 a1 a2 a3 表b 結構 b1,b2,b3 其中 a1 b1 為pk 切值相同 就是可以使用a1 b1 了.請問用sql 語句或過程該如何實現如下的功能?更新a 表的 a3 用a.a3 與b.b3之和更新.3 update a se...