0

300+ のようないくつかのフィールドを持つテーブルがあります。構造は次のようになります: storenum、Monval1、Monval2... Monval45、Monval46... Tuesval1、Tuesval2 など。基本的に 1 から 53 までの値には、曜日ごとのバージョンがあるため、53 フィールド * 7 日とその他のランダム フィールドがいくつかあります。

ストア 3 から 285 までをストア 1 のデータで更新する必要があります。

Update (Select MonVal1... SunVal53 from table1 
 where storenum in (3, 4,...284,285)) as Dest
From (Select MonVal1... SunVal53 from table1 
 where storenum =1) as Source

しかし、それはノーゴです。

私がやろうとしていることはできますか?

4

2 に答える 2

0

このパターンの超長い更新ステートメントを書くことができます:

UPDATE badly_normalized_table
SET monval1 =   ( SELECT monval1 FROM badly_normalized_table WHERE ... )
WHERE pk = the_pk_you_want_to_upate
于 2012-08-21T17:17:33.523 に答える
0
Update table1 set
    MonVal1    = origin.MonVal1, 
    /* the orher fields here */
    SunVal53   = origin.SunVal53
from table1
inner join table1 as origin on origin.storenum = 1
where table1.storenum in (3, 4,...284,285)
于 2012-08-21T17:27:29.470 に答える