更新表,其他表中的值等于另一个表值

时间:2016-07-07 14:44:09

标签: sql sql-server

我想根据表3和表2的值

更新表1

表1

enter image description here

表2

enter image description here

表3

enter image description here

我想更新table1的列'price',其中table3的'store_num'的store_div值来自table3,等于来自table2的store_div。

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

更新将如下所示:

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 where子句。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这应该在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以确保仅更新Table2中记录分区的商店。