2013-11-04 43 views
1

如果在另一個表中存在特定值,我需要更新表中的值。SQL更新其中表中的值是

update table1 
set value1=3 
where table2.value2='Y' 

有兩個關鍵ref1表 - 我如何使用該密鑰,這些聯繫在一起?非常感謝!

+3

您正在使用什麼數據庫引擎? –

回答

3
update table1 
inner join table2 on table1.ref1 = table2.ref1 
set value1 = 3 
where table2.value2 = 'Y' 
+0

這在Oracle上不起作用。 Oracle在第1行結束時抱怨「缺少SET關鍵字」。 – Nicktar

0

您可以在兩個表之間編寫連接,然後從連接進行更新。

喜歡的東西:

update tableA 
set column = b.value 
from tableA a 
    join tableB on a.key = b.key 
相關問題