2016-07-07 4 views
0

別のテーブル値に等しい2更新テーブルは、私は表3及び表の値から参照表1を更新する

表1

enter image description here

表2

enter image description here

表3

私は表3からTABLE1の「store_num」のstore_divの値がどこにあるTABLE1の列「価格」を更新したい

enter image description here

は、表2からstore_divすることと等しいです。

すでにstore_numのstore_div値を取得するためにtable1とtable3を結合しようとしましたが、store_divがtable1に存在しないため、where句をどこにポイントするのかわかりません。

更新は、次のようになります。

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

[IDの一致に基づいて[テーブルからSQLへのSQL更新]の可能な複製](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に記録されている部門のみが更新されるようにするには、Table2を含める必要があります。

関連する問題