1

次のシナリオがあります。

テーブルは_etblpricelistprices

列は次のとおりです。

iPriceListNameID    iPricelistNameID   iStockID   fExclPrice

1                   1                  1           10
2                   2                  1           20
3                   3                  1           30
4                   4                  1           40
5                   5                  1           100
6                   6                  1           200
7                   7                  1           300
8                   8                  1           400
9                   1                  2           1000
10                  2                  2           2000
11                  3                  2           3000
12                  4                  2           4000
13                  5                  2           50
14                  6                  2           40
15                  7                  2           30
16                  8                  2           20

ここには在庫アイテムが 2 つしかありませんが、DB にはさらに多くのアイテムがあります。最初の列は、自動インクリメントする PK です。2 番目の列はPricelistです。は、次のpricelistように分割されます。(1-4) は現在の価格で、(5-8) は将来の価格です。3 列目は在庫アイテムの ID で、4 列目はアイテムの価格です。

このテーブルを更新して、アイテムごとの将来の価格と現在の価格を入れ替えるスクリプトが必要です。助けてください

4

1 に答える 1

0

必要に応じて、値を交換すると、iPricelistNameID値を交換するのと同じ全体的な効果が得られfExclPrice、次の式を使用して実行できることに注意してください。

UPDATE _etblpricelistprices
SET
    iPricelistNameID = CASE
                WHEN iPricelistNameID > 4 THEN iPricelistNameID - 4
                ELSE iPricelistNameID + 4
    END
于 2012-09-26T07:49:09.937 に答える