更新表,其中从另一个表值是等于另一个表值

问题描述:

我想更新表1从表3和表中的值指2更新表,其中从另一个表值是等于另一个表值

表1

enter image description here

表2

enter image description here

表3

enter image description here

我想更新table1的column'price',其中table3的store_div的值store_um与table2的store_div等于store_div。

我已经尝试加入table1和table3来获取每个store_num的store_div值,但我不知道在哪里指向我的where子句,因为store_div不存在于table1上。

的更新应该是这样的:

Update Table1 t1 set price = '0' 
join Table t3 on t1.store_num = t3.store_num 
where ([t1.store_num]'s [store_div] = Table2.store_div) 

我不是在WHERE子句寿十分肯定。

任何帮助,将不胜感激。

+3

[从一个表到另一个表的SQL更新基于ID匹配]的可能重复(http://*.com/questions/224732/sql-update-from-one-table-to-another-based-on -a-id-match) –

+0

@John F,你是否试图将每个商店的价格更新为'0',该商店在哪个分部?我只想更清楚你想做什么。 – Aidan

+0

是的,哪里商店的分区号存在于表2 –

这应该在SQL Server中工作。

Update Table1 
set price = '0' 
From Table3 t3 
inner join Table1 t1 
    on t1.store_num = t3.store_num 
inner join Table2 t2 
    on t2.Store_Div = t3.Store_Div 

您的加入已关闭,但您需要包含Table2以确保只有存储区在Division中登录的商店才会更新。