有一张表
id   a   b
-----------
1    0   a
2    1   b
3    2   c
4    3   d
5    4   e我想更改A字段的排序  比如把 3 提到 1 结果为
id   a   b
-----------
1    0   a
4    1   d
2    2   b
3    3   c
5    4   e要如何实现这样更改排序位置的效果 ? 

解决方案 »

  1.   

    id a b
    -----------
    1  0 a
    2  1 b
    3  2 c
    4  3 d
    5  4 e
    6  5 f
    7  6 g
    8  7 h
    9  8 i
    .......
    将[a]字段7位置移动2位置希望结果为
    1  0 a
    2  1 b
    3  3 c
    4  4 d
    5  5 e
    6  6 f
    7  7 g
    8  2 h
    9  8 i
    .......
      

  2.   

    7更新到2
    update 表
    set a = decode( a,7,2, a + 1 )
    where a between 2 and 7  ;
      

  3.   


    7更新到2可以这样  2更新到7呢 ?~ 就是 decode( a,2,7, a - 1 ) 吗?
      

  4.   

    update 表 set a = decode( a,7,2, a + 1 ) where a between 2 and 7 ;这里的 a + 1 有没有办法让他自动判断是-1还是+1  可以用7-2 但是如果让他负数为-1 正数为+1呢 ?
      

  5.   


    update TABLE set A = decode(A,3,6,A+ sign(3-6) ) where A between 3 and 6 ;就是这样的效果  呵呵 ,  谢谢了各位了 ,~