更新语法

时间:2012-09-26 07:15:43

标签: sql-server

我有以下情况:

表格为_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

这里只有两个库存商品,但在数据库中还有更多。第一列是自动递增的PK。第二列是Pricelistpricelist分为以下几种。 (1-4)是当前定价,(5-8)是未来定价。第三列是库存商品的ID,第四列是商品的定价。

我需要一个脚本来更新此表,以交换每个项目的未来和当前定价。请帮忙

1 个答案:

答案 0 :(得分:0)

观察,如果愿意,交换iPricelistNameID值将获得与交换fExclPrice值相同的相同的整体效果,并且可以使用公式执行:< / p>

UPDATE _etblpricelistprices
SET
    iPricelistNameID = CASE
                WHEN iPricelistNameID > 4 THEN iPricelistNameID - 4
                ELSE iPricelistNameID + 4
    END