2016-07-07 252 views
0

我想更新表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://stackoverflow.com/questions/224732/sql-update-from-one-table-to-another-based-on -a-id-match) –

+0

@John F,你是否試圖將每個商店的價格更新爲'0',該商店在哪個分部?我只想更清楚你想做什麼。 – Aidan

+0

是的,哪裏商店的分區號存在於表2 –

回答

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以確保只有存儲區在Division中登錄的商店纔會更新。

相關問題