更新表,其中从另一个表值是等于另一个表值
问题描述:
我想更新表1从表3和表中的值指2更新表,其中从另一个表值是等于另一个表值
表1
表2
表3
我想更新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子句寿十分肯定。
任何帮助,将不胜感激。
答
这应该在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中登录的商店才会更新。
[从一个表到另一个表的SQL更新基于ID匹配]的可能重复(http://stackoverflow.com/questions/224732/sql-update-from-one-table-to-another-based-on -a-id-match) –
@John F,你是否试图将每个商店的价格更新为'0',该商店在哪个分部?我只想更清楚你想做什么。 – Aidan
是的,哪里商店的分区号存在于表2 –