2012-09-26 35 views
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 

只有两个股票项目在这里,但在一个数据库中的多很多。第一列是自动递增的PK。第二列是Pricelistpricelist分割如下。 (1-4)是当前定价,(5-8)是未来定价。第三列是库存项目的ID,第四列是项目的定价。

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

+0

看来我格式化了。请问你是否需要布局,我很乐意将它邮寄给你 – Alan

+0

你的意思是说价格表1和价格表5值应该交换位置,同样用6和3替换2,用7和4替换8和8?如果不是,我不确定你的意思,你需要解释更多。 –

+0

是的达米安,就是这样,但它需要这样做每个stockid – Alan

回答

0

观察,如果你愿意,交换的iPricelistNameID值将达到与交换的fExclPrice相同整体效果,并且可以使用公式perfomed:

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

这是工作的所有信息。谢谢,我甚至没有看到这一点。 – Alan