Sqlite
根據與另一個表中的列的匹配更新一個表中的列
我有 2 個表說
table1
包含 3 列col1
,col2
並且其中包含col3
和。我想設置= ‘some value’ where . 我發現不支持更新(我熟悉)。如何做到這一點?table2``col1``col2``col3``table1.col1 = table2.col1 and table1.col2 = table2.col2``SQLite3``join``postgresql
您可以嘗試這樣的事情,這是將 table1 的 col3 值設置為 table2 的 col3 值,它們在 col1 和 col2 上匹配。您可以將 col3 替換為您的“某個值”。
create table table1 ( col1 int, col2 int, col3 int ); create table table2 ( col1 int, col2 int, col3 int ); insert into table1 values (1,2,3); insert into table1 values (4,5,6); insert into table2 values (1,2,10); insert into table2 values (4,5,20); select * from table1; update table1 set col3 = ( select table2.col3 from table2 where table1.col1 = table2.col1 and table1.col2 = table2.col2 ) where exists ( select table2.col3 from table2 where table1.col1 = table2.col1 and table1.col2 = table2.col2 ); select * from table1;